web-dev-qa-db-fra.com

Redimensionner une image de partition avec GParted?

J'ai déjà redimensionné les partitions dans Gparted. Maintenant, je voudrais déplacer une partition nombreuse mais essentiellement vide à un lecteur plus petit. Au lieu de le redimensionner en place, je préférerais effectuer une copie sur un 3ème entraînement (image d'entraînement à l'aide de DD), redimensionnez la copie, puis dd la copie sur le nouveau lecteur. Mais je ne pense pas que GParted fonctionne sur des images de conduire? Comment ferais-je cela? Puis-je utiliser les outils GPARTED utilisés directement?

Ooh! Ou puis-je utiliser une boucle de boucle pour que le fichier image ressemble à un lecteur physique que Gparted peut fonctionner?

15
endolith

Vous ne pouvez pas faire cela avec GParted, mais vous pouvez utiliser la commande ntfsresize directement sur une image de disque.

Tout d'abord, clonez l'image du disque. Vous pouvez trouver le nom du périphérique de disque à l'aide de blkid ou gparted, puis exécutez:

Sudo dd if=<disk device> of=<image file>

Par exemple:

$ Sudo dd if=/dev/sda2 of=disk.img
1000000+0 records in
1000000+0 records out
512000000 bytes (512 MB) copied, 9.33361 s, 54.9 MB/s

Ensuite, vérifiez si vous pouvez le redimensionner à la taille dont vous avez besoin en exécutant:

ntfsresize -i <image file>

Par exemple:

$ ntfsresize -i disk.img
ntfsresize v2011.4.12 (libntfs-3g)
Device name        : disk.img
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 511996416 bytes (512 MB)
Current device size: 512000000 bytes (512 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 4 MB (0.6%)
Collecting resizing constraints ...
You might resize at 3035136 bytes or 4 MB (freeing 508 MB).
Please make a test run using both the -n and -s options before real resizing!

Dans cet exemple, je peux redimensionner jusqu'à 4 Mo car je viens de faire une image de disque vide à des fins d'illustration!

Maintenant, vous pouvez effectuer le test de test si vous le souhaitez, bien que ce ne soit pas strictement nécessaire, car vous fonctionnez sur une image. Vous pouvez spécifier la taille en kilo-octets, mégaoctets ou gigaoctets en ajoutant un k, M ou G, respectivement:

ntfsresize -cnvs <size> <image file>

Par exemple:

$ ntfsresize -cnvs 256M disk.img 
ntfsresize v2011.4.12 (libntfs-3g)

Aucune sortie n'est bonne sortie! Maintenant, faites-le pour de vrai:

ntfsresize -vs <size> <image file>

Dernier exemple:

$ ntfsresize -vs 256M disk.img 
ntfsresize v2011.4.12 (libntfs-3g)
Device name        : disk.img
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 511996416 bytes (512 MB)
Current device size: 512000000 bytes (512 MB)
New volume size    : 255996416 bytes (256 MB)
Checking for bad sectors ...
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 4 MB (0.6%)
Collecting resizing constraints ...
Needed relocations : 625 (3 MB)
WARNING: Every sanity check passed and only the dangerous operations left.
Make sure that important data has been backed up! Power outage or computer
crash may result major data loss!
Are you sure you want to proceed (y/[n])? y
Schedule chkdsk for NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Relocating needed data ...
Relocate record       1:0x80:00000001:0x00000000:0x0000f423 --> 0x00007a11
Relocate record       2:0x80:00000624:0x00000000:0x0000f424 --> 0x00007a12
100.00 percent completed
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
Syncing device ...
Successfully resized NTFS on device 'disk.img'.
You can go on to shrink the device for example with Linux fdisk.
IMPORTANT: When recreating the partition, make sure that you
  1)  create it at the same disk sector (use sector as the unit!)
  2)  create it with the same partition type (usually 7, HPFS/NTFS)
  3)  do not make it smaller than the new NTFS filesystem size
  4)  set the bootable flag for the partition if it existed before
Otherwise you won't be able to access NTFS or can't boot from the disk!
If you make a mistake and don't have a partition table backup then you
can recover the partition table by TestDisk or Parted's rescue mode.

C'est ça! Maintenant, vous pouvez copier cette image disque sur le nouveau périphérique.

3
Patches

Je ne suis pas sûr de la situation il y a 5 ans, mais c'est aujourd'hui un gâteau.

$ Sudo udisksctl loop-setup -f disk.img
Mapped file disk.img as /dev/loop0.
$ Sudo gparted /dev/loop0

Maintenant, vous pouvez manger le gâteau.

14
user7455651

Pourriez-vous le redimensionner en place avec GParted, utilisez-le de la clonezilla pour déplacer la partition sur le nouveau disque?

0
uSlackr

J'utilise GParted pour beaucoup, de nombreuses années et je n'ai jamais perdu un peu. J'aime aussi easus Edition gratuite à la maison pour Windows.

Quelle est la taille de votre partition? Pouvez-vous copier les données sur le système de stockage en ligne USB/DVD/un système de stockage en ligne gratuit, afin de ne pas la perdre - puis de redimensionner en place? Les deux outils susmentionnés non perdent vos données si vous les laissez passer à l'achèvement.

Vous dites I've resized partitions in GParted before - Alors pourquoi l'inquiétude maintenant? Et DD fera un peu pour une copie bit ... Vous devrez donc redimensionner de toute façon (Defrag en premier).