J'ai un disque avec deux partitions: SDA1 et SDA2. Je voudrais changer le nombre de SDA1 à SDA2 et SDA2 à SDA1.
C'est possible mais je ne me souviens pas de la procédure. I.e. Ma première partition sera SDA2 et la deuxième SDA1, donc j'ai besoin de spécifier une commande manuelle, pas une commande automatique comme dans FDISK -> x -> f.
Comment puis-je changer la commande? Les liens vers des manuels ou des tutoriels sont également les bienvenus.
Merci.
La raison: j'ai une application qui doit lire des données de SDA1, mais les données sont en SDA2. Changer le tableau de partition est la solution la plus rapide de ce problème. Le système n'est pas critique mais je ne veux pas garder le système arrêté trop de temps.
Mise à jour: La version FDISK de OPENBSD inclut cette fonctionnalité.
FYI, c'est une mauvaise idée et vous pouvez tout perdre. Si vous voulez toujours le faire, voici les étapes:
Utilisez l'outil sfdisk
: Premièrement, faites une sauvegarde de la table de partition à l'aide de
sfdisk -d /dev/sda > sda.out
Ensuite, allez-y:
sfdisk /dev/sda -O sda-partition-sectors.save
Vous verrez quelque chose comme ça
Checking that no-one is using this disk right now ...
OK
Disk /dev/sda: 1018 cylinders, 124 heads, 62 sectors/track
Old situation:
Units = cylinders of 3936256 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 0+ 5 6- 23063+ 83 Linux
/dev/sda2 6 1017 1012 3890128 83 Linux
/dev/sda3 0 - 0 0 0 Empty
/dev/sda4 0 - 0 0 0 Empty
Input in the following format; absent fields get a default value.
<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
Usually you only need to specify <start> and <size> (and perhaps <type>).
/dev/sda1 :
Maintenant, il vous demande de donner les nouveaux détails de la partition "SDA1". Vous devez donc donner le nombre de SDA2 ici. Donc, je mets '6 1012' ici et appuyez sur Entrée:
/dev/sda1 :6 1012
/dev/sda1 6 1017 1012 3890128 83 Linux
/dev/sda2 :
Maintenant Vérifiez Si les numéros imprimés après avoir appuyé sur Entrée sont exactement de la même manière que celles imprimées précédemment pour SDA2. Si tout va bien, continuez à donner les nouveaux numéros pour SDA2:
/dev/sda2 :0
/dev/sda2 0+ 5 6- 23063+ 83 Linux
/dev/sda3 :
Cette fois, il suffisait d'entrer "0" dans mon cas - mais vous devez vous assurer que les chiffres ne sont pas gâchés dans la tienne.
Ensuite, continuez avec les autres partitions de la même manière. Si vous avez déjà atteint la fin du disque, appuyez sur Entrée suffit. Enfin, vérifiez à nouveau que tous les chiffres sont corrects et enregistrez la table de partition (ou non). Si vous avez gâché quelque chose, regardez man sfdisk
et les descriptions des options '-D' -D ',' -o 'et' -i '.
Notez également qu'une fois que vous avez apporté les modifications folles, vous devrez peut-être exécuter "Sync" afin que les partitions soient relues avant d'essayer de les monter.
Vous devriez réécrire la table de partition du lecteur pour inverser la commande, ce qui est un peu risqué. Si j'étais vous, je corrigerais le problème qui vous donne envie d'échanger l'ordre des noms de périphérique et de laisser les partitions seules.
Par exemple, si vous avez un script qui doit fonctionner sur les deux machines et que vous souhaitez accéder au même appareil, créez un lien dans un répertoire différent (non/dev) qui est le même nom sur les deux serveurs, mais des liens vers/Dev/SDA1 sur un, et/dev/SDA2 de l'autre.
Vous pouvez utiliser n'importe quel éditeur de partition (fdisk
ou cfdisk
) pour éditer les partitions, mais vous devez écraser les paramètres actuels ou prendre une photo de l'écran. Supprimez les deux partitions, puis créez-les manuellement, spécifiant toutes les valeurs correctes. Démarrez le système avec un LiveCD pour le faire.
Toutes les solutions existantes sont très sûres, mais aussi compliquées.
Je voulais réorganiser Tout Mes partitions afin qu'ils soient en ordre.
Si vous êtes plus expérimenté, avez des données non essentielles ou sauvegardées et êtes heureux de résoudre les problèmes de résultat, vous pouvez démarrer à partir d'un CD en direct et le faire de cette façon :
Sudo fdisk /dev/sdX
alors:
x
pour entrer en mode expertf
_ pour corriger l'ordre du lecteur (éventuellement i
pour ignorer les avertissements si nécessaire)r
pour revenir en mode normalw
pour écrire des modifications sur le disque et quitterJe ne me souviens pas des prochaines étapes exactement comme je l'ai fait une seule fois et je n'ai pas retiré, mais comme je déplace également l'installation, j'ai également monté les partitions et copié tous les fichiers :
Sudo mkdir /mnt/sda4
Sudo mount /dev/sda4 /mnt/sda4
Sudo mkdir /mnt/sda5
Sudo mount /dev/sda5 /mnt/sda5
date;cp -a /mnt/sda4/* /mnt/sda5;date
Puis a obtenu les identifiants de la partition:
Sudo blkid
et mis à jour les éléments suivants pour refléter les nouvelles valeurs UUID de partitions:
/mnt/sda5/boot/grub/grub.cfg
/mnt/sda5/etc/fstab
J'ai alors Mise à jour grub2 :
Sudo grub-install --root-directory=/mnt/sda5 /dev/sda
Tout d'abord, tout est un exercice pour faire de votre mieux pour casser les choses, mais de toute façon, voici une autre approche que vous pouvez essayer.
Remarque: vous n'avez pas mentionné où vous démarrez, et cette solution, et pas d'autre à l'époque où je vais écrire cela, vous adressez à ce que vous devriez faire pour obtenir Lilo ou GRUB Pour fonctionner correctement.
/dev/sda1
et /dev/sda2
sont des dispositifs de blocage (8,1) et (8,2). Vous pouvez essayer d'utiliser mknod
pour simplement échanger les deux.
telinit 1
(...)
rm -f /dev/sda{1,2}; mknod /dev/sda1 b 8 2; mknod /dev/sda2 b 8 1
chmod 640 /dev/sda{1,2}; chown root:disk /dev/sda{1,2}
reboot
N'oubliez pas que cet échange ne se produira qu'après votre partition contenant /dev/
est chargé lors du démarrage, de sorte que le initrd
_ aura toujours les "corrects", sauf si vous y réparez là aussi (exercice pour le lecteur - mkinitrd
copier l'étrangeté?) Cela n'adresse pas non plus aux contextes SELINUX.
Table de partition de sauvegarde
sFDISK -D/DEV/SDA> SDA.BKP
Copier la sauvegarde de la table de partition sur la nouvelle table de partition
cp sda.bkp sda.new
Modifier la nouvelle table de partition
gedit sda.new
Sauvegarder et fermer
Réinstallez la nouvelle table de partition
sFDISK --NO-RERAD -F/Dev/SDA <SDA.NEW
Redémarrer l'ordinateur