Citation :
sh-2.05b# mkdir /floppy
sh-2.05b# mount /dev/fd0 /floppy
sh-2.05b# cd /floppy
Localisez le disque et la partition NTFS que vous voulez redimensionner. Red Hat journalise les messages de boot pendant l'installation dans /tmp/syslog ce qui peut vous aider à trouver le disque si vous l'avez loupé. Les disques IDE s'appellent habituellement hda, hdb, hdc ou hdd, et les disques SCSI s'appellent sda, sdb, sdc... Nous avons un seul disque, hdc, voyons quelles partitions il comporte: sh-2.05b# fdisk -l /dev/hdc
Disk /dev/hdc: 255 têtes, 63 secteurs, 2480 cylindres
Clusters = cylindres de 16065 * 512 octets
Device Boot Début Fin Blocks Id System
/dev/hdc1 * 1 2479 19912536 7 HPFS/NTFS
Une seule partition, c'est /dev/hdcl et NTFS (OS/2 HPFS et Windows NTFS utilisent le même type de partition, 7). Notez que c'est aussi marqué comme bootable. Trouvez la limite jusqu'à laquelle vous pouvez réduire en sécurité. N'oubliez pas le caractère './' devant ntfsresize si le répertoire courant n'est pas dans le chemin de recherche de la commande sh-2.05b# ./ntfsresize --info /dev/hdc1
ntfsresize v1.7.1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 20390432768 bytes (20391 MB)
Current device size: 20390436864 bytes (20391 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use : 7851 MB (38.5%)
Calculating smallest shrunken size supported ...
You could resize at 10196025344 bytes or 10197 MB (freeing 10194 MB).
Nous voyons que nous pouvons libérer plus de 10Go (20391 - 7851) d'espace disque utilisant NTFS. ntfsresize avertira s'il ne peut pas libérer cet espace. Si vous prenez une valeur trop petite, pour y installer Linux, vous pourriez essayer de supprimer le fichier d'échange (swap), Hibernation et le système de sauvetage temporairement et défragmenter votre NTFS. Une meilleure alternative est de pouvoir utiliser la version binaire statique de ntfsresize car elle est capable de surmonter ces situations. Faites un test- avec ntfsresize, en utilisant l'option --no-action. Nous choisissons un essai pour redimensionner à 11Go. sh-2.05b# ./ntfsresize --no-action --size 11000M /dev/hdc1
ntfsresize v1.7.1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 20390432768 bytes (20391 MB)
Current device size: 20390436864 bytes (20391 MB)
New volume size : 10999996416 bytes (11000 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use : 7851 MB (38.5%)
Schedule chkdsk NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
The read-only test run ended successfully.
Tout semble OK, continuons. Si vous obtenez un message différent, ou une 'ERROR:' alors ne continuez pas ou essayez de forcer le redimensionnement! Redimensionner NTFS sh-2.05b# ./ntfsresize --size 11000M /dev/hdc1
ntfsresize v1.7.1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 20390432768 bytes (20391 MB)
Current device size: 20390436864 bytes (20391 MB)
New volume size : 10999996416 bytes (11000 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use : 7851 MB (38.5%)
WARNING: Every sanity check passed and only the DANGEROUS operations left.
Please make sure all your important data had been backed up in case of an
unexpected failure!
Are you sure you want to proceed (y/[n])? y
Schedule chkdsk NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
Syncing device ...
NTFS had been successfully resized on device '/dev/hdc1'.
You can go on to resize the device e.g. with 'fdisk'.
IMPORTANT: When recreating the partition, make sure you
1) create it with the same starting disk cylinder
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 may lose your data or can't boot your computer from the disk!
Bien, NTFS a été diminué. N'oubliez pas le passage 'IMPORTANT' ci-dessus en partitionnant dans la dernière étape! En option, vous pourriez tester la cohérence NTFS ici. Ceci peut être fait, par exemple, en utilisant ntfsresize avec les deux options --info et --force sh-2.05b# ./ntfsresize --info --force /dev/hdc1
ntfsresize v1.7.1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 10999992320 bytes (11000 MB)
Current device size: 20390436864 bytes (20391 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use : 7851 MB (71.3%)
Calculating smallest shrunken size supported ...
You could resize at 10196025344 bytes or 10197 MB (freeing 803 MB).
Tout est OK. Notez que le volume de NTFS est maintenant de 11 000Mo, mais le volume de la partition est toujours 20 399Mo. Si vous aviez eu une 'ERROR:' à cette étape (pas plus tôt), alors vous auriez trouvé probablement un bug de ntfsresize. Signalez-le SVP. Nous n'avons été avertis d'aucun problème de ntfsresize. Repartitionner le disque. Attention! Fondamentalement, c'est la seule étape sujette à erreur, et plusieurs utilisateurs font des fautes ici en les forçant à récupérer à la main ou depuis un backup! C'est aussi une excellente initiative d'imprimer ou de sauver sur disquette ou disque la totalité de la table de partition et le MBR (Master Boot Record) avant d'éxécuter la suite. Notez que sauver uniquement le MBR ne sauvegardera pas les partitions logiques si vous en avez!
Un moyen, par exemple, pour le faire, pour le device /dev/hda est # sfdisk -d /dev/hda > hda.pt # saves the partition table # dd if=/dev/hda of=hda.mbr bs=512 count=1 # saves the MBR
Allons y. Nous choisissons fdisk comme outil de partitionnement car il accepte toujours les dimensions quand il (re)crée une partition ainsi, il est fiable pour notre opération. Si vous choisissez cfdisk, soyez TRES prudent! cfdisk peut trop arrondir vers le bas le volume de la partition, de façon que la partition tombe au milieu de NTFS et vous ne pourrez plus booter. Ci-dessous, dans l'ordre nous listons la table de partition annulons l'entrée de la 1° partition recréons l'entrée pour la 1° partition avec le même cylindre de départ et en utilisant le volume de 11 000Mo comme auparavant. Notez que les anciens fdisk utilisent les unités binaires alors que la version 2.11y utilise des unités décimales pour les préfixes kilo et mega octets; ntfsresize utilise les unités décimales. choisissons le type de partition NTFS (type 7) marquez la partition comme "bootable" comme précédemment imprimer encore la table de partition pour tester que tout est OK. activer la totalité du processus en l'écrivant sur le disque sh-2.05b# fdisk /dev/hdc
Command (m for help): p
Disk /dev/hdc: 255 heads, 63 sectors, 2480 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hdc1 * 1 2479 19912536 7 HPFS/NTFS
Command (m for help): d
Partition number (1-4): 1
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2480, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-2480, default 2480): +11000M Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 7
Changed system type of partition 1 to 7 (HPFS/NTFS)
Command (m for help): a
Partition number (1-4): 1
Command (m for help): p
Disk /dev/hdc: 255 heads, 63 sectors, 2480 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hdc1 * 1 1403 11269566 7 HPFS/NTFS
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
La nouvelle étape est optionnelle mais fortement recommandée. Nous testons encore, en utilisant ntfsresize, si nous pouvons encore accéder à notre NTFS.
Pour cela vous pouvez utiliser de nouveau ensemble les options --info et --force sh-2.05b# ./ntfsresize --info --force /dev/hdc1
ntfsresize v1.7.1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 10999992320 bytes (11000 MB)
Current device size: 11540035584 bytes (11541 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use : 7851 MB (71.3%)
Calculating smallest shrunken size supported ...
You could resize at 10196025344 bytes or 10197 MB (freeing 803 MB).
Excellent, pas d'erreur. Si vous expérimentez autre chose, vous pourriez avoir manqué quelque chose. Voyez la section pannes. Voyez aussi, si vous ne pouvez pas booter. Rebootez sur Windows pour tester que tout est OK (par exemple en tapant [Ctrl]-[Alt]-[Del]. Ne soyez pas affolé si, pendant le boot, Windows teste le système de fichiers. Ce test a été programmé par ntfsresize pour une sécurité supplémentaire. Si la partition est une partition système, alors Windows redémarre automatiquement après le test du système de fichiers. Maintenant vous devriez avoir libéré un espace disque que toutes les distributions Linux doivent être capables de manipuler. Joie!!! Quelles distributions supportent le redimensionnement NTFS pendant l'installation? Dans l'ordre chronologique, 28 Mai 2001: ASPLinux utilisant PQDisk qui est sujet à licence, non open source, format propriétaire Acronis OS Selector. Acronis changeant le nom de OS Selector en PartitionExpert. 22 Octobre 2002: Xandros utilisant PQDisk qui est sujet à licence, non open source, format propriétaire PQDisk qui est la version texte de PowerQuest's. PartitionMagic. Edition graphique standard de Xandros n'a pas cette caractéristique, seule la version Xandros Desktop Deluxe Edition (60$ plus chère) l'a.
Notez qu'il y a eu plusieurs plaintes disant qu'une partition NTFS ne pouvait pas être redimensionnée ceci étant du à un bug de PQDisk.
Souhaitons que ce problème ait été résolu.... 3 Février 2003: MandrakeSoft est le premier vendeur Linux qui a développé et intégré des outils exclusivement open source l'un d'eux est ntfsresize rendant aisé l'utilisation d'un installeur graphique pour le le redimensionnement d'une partition NTFS sans perte de données. Mandrake Linux 9.1 est disponible librement au public. 2 Mai 2003: ADIOS Linux Boot CD a une option de menu conçue pour éxécuter ntfsresize et installer le CD sur le disque. Il fonctionne uniquement dans le cas le plus fréquent où le système ne comporte qu'une seule partition NTFS.
Si vous avez plus d'une partition référez vous à leurs notes. 22 Juin 2003: MEPIS peut redimensionner des partition NTFS en appelant QTParted directement depuis le MEPIS Installation Center. 15 Octobre 2003 SUSE Linux 9.0 est capable de redimensionner des partitions NTFS pendant l'installation. Pour cela, YaST (Yet another Setup Tool) utilise ntfsresize. Qu'est-ce que je peux faire si j'ai le message "Volume end is fragmented"? La seule solution open source est l'utilisation de ntfsresize 1.9.0 amélioré. Il existe des scénarios, suggérés par le format NTFS, quand aucun des défragmenteurs commerciaux n'est capable de relocaliser toutes les données en début de partition. Pour le moment, la plupart d'entre eux défragmente seulement en partie et ne relocalise pas toutes les données en tête de partition. Nous avons pendant des mois, testé intensément ntfsresize 1.9.0 avant sa publication comme stable et nous avons trouvé qu'il est aussi fiable que les versions antérieures sous réserve que les précautions soient respectées "toujours faire un test". L'utilisation est la même que pour les versions antérieures, mais, nous vous incitons VIVEMENT à lire soigneusement la page du manuel. Que signifient les alarmes "Cluster accounting failed" et "Filesystem check failed!"? Avant de redimensionner une NTFS, ntfsresize fait un test de cohérence et il refuse d'aller au-dela en affichant ces alarmes si il trouve des erreurs. Dans ces cas-là, vous devez rebooter sur Windows et éxécuter chkdsk avec l' option de ligne de commande /f qui répare les erreurs. Si chkdsk vous demande s'il doit tester le disque la prochaine fois que vous redémarrerez le PC, , répondez "y" pour oui, et redémarrez Windows. Si vous ne spécifiez pas l'option /f alors chkdsk ne réparera pas les problèmes de cohérence NTFS. Si vous avez encore ces messages après avoir éxécuté chkdsk /f alors c'est que vous utilisez probablement ntfsresize version 1.7.1. Vous devez utiliser au moins ntfsresize 1.8.0 et la version la plus recommandable est la dernière version stable. Quelque chose à foiré, je ne peux plus booter! Ai-je tout perdu? Ce n'est pas si facile qu'avant de détruire toutes les données. Théoriquement trois choses doivent mal tourner pendant le redimensionnement de la partition NTFS et son réglage pour le dual boot, redimensionnement de NTFS par ntfsresize Modification de la partition par fdisk, cfdisk, Parted, QTParted, DiskDrake, YaST, etc... Réglage du boot manager par LILO, GRUB, etc... Dans tous les cas que nous avons rencontré, le problème a été causé à l'une des étapes 2 ou 3, et jamais par l'utilisation de ntfsresize. Cela signifie que vos données sont intactes, mais vous ne pouvez plus y accéder. La première chose à faire est de tester l'état de votre NTFS. Vous pouvez faire cela avec ntfsresize, car il a des tests de grande amplitude et il diagnostiquera la cohérence et autres problèmes. Pour faire ça, vous devez utiliser ensemble les options --info et --force. Voyons les problèmes potentiels, les raisons et les solutions. ntfsresize ne trouve pas de NTFS sur la partition en question # ntfsresize --info --force /dev/hdc1
ntfsresize v1.7.1
ERROR(22): ntfs_mount failed: Invalid argument
Apparently device '/dev/hdc1' doesn't have a valid NTFS. Maybe you selected
the whole disk instead of a partition (e.g. /dev/hda, not /dev/hda1)?
La raison de cela peut être une ou plusieurs des suivantes le secteur de départ (cylindre) de la partition n'est pas correctement spécifié pendant la re-partition Si vous avez fait cette faute, re-créez le départ de la partition avec la valeur originale et tout redeviendra OK. N'oubliez pas de régler le type de partition sur 7 et le flag bootable. Si un outil de partition utilisant ntfsresize fait cette faute, alors dites-le à l'auteur concerné. Dans tous les cas, si vous avez sauvegardé la table de partition originale, alors TestDisk, gpart ou Parted's rescue mode devrait vous aider à retrouver le secteur de démarrage (cylindre) correct dans le volume NTFS. L'outil de partition a affecté à la partition NTFS originale un nouveau numéro. Utilisez 'fdisk -1 device' pour trouver où est l'emplacement courant. La partition finit au milieu de NTFS:
# ntfsresize --info --force /dev/hdc1
ntfsresize v1.7.1
NTFS volume version: 3.1
Cluster size : 4096 bytes
Current volume size: 62841106432 bytes (62842 MB)
Current device size: 31453438464 bytes (31454 MB)
ERROR: Current NTFS volume size is bigger than the device!
Corrupt partition table or incorrect device partitioning?
Cela signifie que la partition est plus petite que NTFS, la fin de partition a été crée au milieu de NTFS pendant le nouveau partitionnement. Que pouvez-vous faire? Si vous avez fait la faute, alors créez à nouveau la partition pour être plus grosse que le volume de NTFS. N'oubliez pas de régler le type de partition sur 7 et également le flag de bootable. Si un outil de partition utilisant ntfsresize fait cette faute, alors dites-le à l'auteur concerné. Ceci est un bug très grave car si l'espace disque libéré a déja été utilisé, alors le sytème a écrit sur vos données qui sont détruites. Si vous n'avez pas encore utilisé cet espace, alors créez à nouveau la partition pour être plus grosse que NTFS ntfsresize ne mentionne aucune erreur: Votre partition NTFS et vos données doivent être sains, vous pourriez monter la partition avec le driver Linux NTFS et tester tout en direct. Quelque chose pourrait ne pas fonctionner avec le boot. Quelques possibilités / solutions: durant la création de la nouvelle partition vous n'avez pas spécifié NTFS type 7. durant la création de la nouvelle partition le flag bootable n'a pas été positionné comme auparavant Les partitions ont été renumérotées. Windows, comme Linux, suppose que le numéro de la partition de boot n'a pas changé. La partition de boot Windows est définie dans le fichier BOOT.INI. Microsoft publie un document how to edit BOOT.INI depuis une console récupération. Linux a aussi une commande 'f' pour réparer l'ordre de partition dans son mode extra-fonctionnalité (Choisissez 'x' dans le menu principal) L'utilisation de FIXBOOT et/ou FIXMBR dans la console de récupération Microsoft pourrait aussi bien résoudre le problème de boot. Consulter la documentation de GRUB ou LILO pour y trouver où poiurrait être l' erreur. si le problème continue, vous pourriez restaurer la table de partition originale, à supposer que vous l'ayez sauvegardée ou écrite sur papier. Par exemple, en restaurant la sauvegarde initiale, la table de partition originale de /dev/hda. # sfdisk /dev/hda < hda.pt
ou, pour le MBR de /dev/hda:
# dd if=hda.mbr of=/dev/hda
|