Un nouveau portable sous Windows ? Que faire ? Utiliser Knoppix  !

Gazette Linux n°122 — Janvier 2006

Edgar Howell

Article paru dans le n°122 de la Gazette Linux de janvier 2006.

Traduction française par Deny .

Relecture de la traduction française par Joëlle Cornavin .

Article publié sous Open Publication License. La Linux Gazette n'est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc.


Table des matières
1. Introduction
2. Le projet
3. La problématique
4. Table rase
5. Outils et boîtes à outils
6. Plan B
7. Sauvegarde
8. Redimensionnement
9. Touches finales
10. Conclusion

1. Introduction

Durant une brève période, ce bureau avait été exempt de Windows, en théorie du moins. Mon imprimante multifonction nécessitant '95 avait cessé d'utiliser de l'encre noire et '95 avait cessé de démarrer, rendant les deux obsolètes. '98 sur mon ancien portable ne s'éteint pas convenablement, ce qui rend le démarrage aléatoire. Je n'avais simplement pas réussi à me débarrasser de tout cela.

À cet instant, le destin me mit sur la voie d'un projet exigeant un certaine variété de Windows . L'outil dont j'ai absolument besoin m'était familier depuis de nombreuses années sous OS/2. Malheureusement, il n'existe plus dans une telle configuration. Il était donc temps de renoncer aux rêves d'un portable sans Windows et de commander un Dell® avec ce qui se fait à Redmond actuellement.


2. Le projet

Comme nous avons commandé le Dell® avec un disque dur double capacité et quatre fois la mémoire conseillée, il suffisait de réduire un peu la partition et d'y installer SuSE 10.0 pour la monter et la faire fonctionner dans un environnement correct.

C'est quelque chose que je fais depuis des années. Un de mes outils commerciaux préférés avait été Partition Magic®. Assez simple pour réduire la taille d'une partition et d'utiliser l'espace libre pour un autre but.


3. La problématique

Vous achetez une machine avec un système d'exploitation préinstallé sur un disque dur de 80 Go, et cfdisk affiche :



First       Last
# Type       Sector      Sector   Offset    Length  File System Type (ID) Flags
-- ------- ----------- ----------- ------ ----------- -------------------- -----
1 Primary           0      176714     63      176715 Dell Utility (DE)    none
2 Primary      176715   146544929      0   146368215 HPFS/NTFS (07)       Boot
  Pri/Log   146544930   146560994      0       16065 free                 none
3 Primary   146560995   156296384      0     9735390 CP/M / CTOS / . (DB) none

Montez les trois partitions primaires. La commande df affiche :



Filesystem           1K-blocks      Used Available Use% Mounted on
[...]
/UNIONFS/dev/sda1        88136      6654     81482   8% /mnt/sda1
/UNIONFS/dev/sda2     73184104   7132524  66051580  10% /mnt/sda2
/UNIONFS/dev/sda3      4858184   3167052   1691132  66% /mnt/sda3

Pourquoi y a-t-il plus d'une partition primaire ? L'architecture matérielle n'en autorise que quatre, elles sont appréciables ! Aucune n'est particulièrement pleine. Et cet espace au milieu ? Pouvons-nous orthographier « fragmentation » ? La définir ?

Peut-être les utilisateurs de Windows sont-ils habitués à cet état de choses et ne considèrent pas frauduleux d'être privés d'environ 14 Go sur 80. Cependant, voir toute cette capacité évaporée sans même avoir été consulté ! Considérez le pourcentage si je n'avais pas choisi un disque dur d'une taille deux fois supérieure à la normale.

Est-il nécessaire de faire état des types de systèmes de fichiers déconcertants ? Je ne parle pas de NTFS !


4. Table rase

Cela s'améliore, ou empire. À l'époque de '95, vous obteniez un cédrom avec le système d'exploitation, probablement aussi préinstallé sur la machine.

Avec '98, le système était préinstallé et un prétendu céderom de restauration était livré avec. À un certain moment, vous étiez contraint d'utiliser l'outil infernal, et c'était quand vous aviez découvert qu'il ne se contenterait pas de restaurer le système d'exploitation mais qu'il remettrait la partition entière dans l'état ou elle était à l'origine quand la machine est sortie de chez le fabricant.

Vos données risquent d'être perdues si vous n'avez pas de sauvegardes adéquates et/ou une autre partition amorçable (cela se passait bien avant Knoppix). Toutefois, si vous modifiiez la taille de la partition afin d'installer quelque chose d'autre également, le cédérom de restauration échouait — après avoir formaté la partition qu'il ne pouvait pas utiliser ! En outre, le dernier Partition Magic® que j'ai acheté ne pouvait m'être d'aucun secours, car au lieu de fonctionner sous DOS, il exigeait Windows. Un cercle vicieux pervers.

Au moins aviez-vous un cédérom avec le système d'exploitation dessus.

Dell®/Microsoft® n'en fournit pas même un ! Quels sont les prix des cédéroms aujourd'hui ? En grande quantité ?

C'est ce que toutes ces autres partitions sont chargées de faire. En d'autres termes, il est impossible d'effectuer une tâche simple comme formater le disque, allouer des partitions et installer des logiciels. Et maintenant ?


5. Outils et boîtes à outils

Bien que j'aie employé par le passé d'autres outils efficaces pour résoudre des problèmes, Knoppix est devenu ma boite à outils de prédilection parce qu'il m'offre un environnement qui m'est familier, GNU/Linux, et bon nombre d'outils.

Naturellement la première chose que j'ai faite — après une installation minimale, aussi légère que possible — a été de changer la séquence d'amorçage sur l'ordinateur portable pour pouvoir utiliser Knoppix. Il fallait que je sache comment le faire (F2, Suppr au début du processus d'amorçage sont de bons candidats) : hormis une grande feuille de papier (en gros le double de la taille grand format) décrivant les fonctionnalités externes du matériel, Dell® ne fournissait aucune documentation imprimée digne de ce nom. Elle est entièrement sur le disque dur.

Vous avez déjà vu ci-dessus une partie des informations disponibles grâce à l'utilisation des outils du cédérom/DVD de Knoppix. À propos, j'emploie ici un DVD avec Knoppix 4.0.

Jusqu'ici, tout ce que nous avons été en mesure de faire est de confirmer que nous avons un problème majeur. Une configuration de disque dur bizarre. Un système de fichiers peu familier.

Voyons donc quels sont les outils que Klaus Knopper a inclus dans sa boîte à outils :


knoppix@3[knoppix]$ apropos NTFS
libntfs-gnomevfs (8) - Module for GNOME VFS that allows access to NTFS filesystems.
mkntfs (8)           - create a NTFS 1.2 (Windows NT/2000/XP) file system
ntfscat (8)          - concatenate files and print them on the standard output
ntfsclone (8)        - Efficiently clone, image or restore an NTFS filesystem
ntfscluster (8)      - identify files in a specified region of an NTFS volume.
ntfsfix (8)          - tool for fixing NTFS partitions altered by the Linux kernel NTFS driver.
ntfsinfo (8)         - dump a file's attributes
ntfslabel (8)        - display/change the label on an ntfs file system
ntfsls (8)           - list directory contents on an NTFS filesystem
ntfsprogs (8)        - several tools for doing neat things with NTFS partitions
ntfsresize (8)       - resize an NTFS filesystem without data loss
ntfsundelete (8)     - recover a deleted file from an NTFS volume.
smbcquotas (1)       - Set or get QUOTAs of NTFS 5 shares
knoppix@3[knoppix]$  

6. Plan B

En examinant deux des pages de man, il semblerait que cette collection d'outils soit maintenue depuis environ 10  ans, bien au-delà de la version 0.0 actuelle.

Utilisons donc ntfsclone pour envoyer une image de la partition amorçable via le réseau local sur une autre machine. Une fois que nous avons fait cela à titre de sauvegarde, nous pouvons demander à ntfsresize pour réduire la partition à une taille raisonnable. Ensuite, il devrait être assez facile de créer une partition étendue avec deux partitions logiques pour Linux.

Je ne suis pas du tout habitué à ces outils mais il est toujours amusant d'apprendre quelque chose de nouveau. De plus, le moment est propice.


7. Sauvegarde

Une fois de plus, rien ne fonctionne tout à fait comme on l'avait prévu. La création de l'image n'a pas fait exception. Voici une de mes tentatives infructueuses :


knoppix@1[knoppix]$ su
sudo: unable to lookup Knoppix via gethostbyname()
root@1[knoppix]# ntfsclone --save-image --output - /dev/sda2 | gzip -c | \
ssh -l web lohgopc2 'cat > /DATA/NO_BACKUP/DELL/sda2.img.gz'
ntfsclone v1.9.4
The authenticity of host 'lohgopc2 (192.168.0.102)' can't be established.
RSA key fingerprint is 65:32:cc:81:8f:eb:73:24:7b:b3:18:a8:66:fa:7c:ae.
Are you sure you want to continue connecting (yes/no)? NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 74940522496 bytes (74941 MB)
Current device size: 74940526080 bytes (74941 MB)
Scanning volume ...
100.00 percent completed
Accounting clusters ...
Space in use       : 7304 MB (9,7%)
Saving NTFS to image ...

root@3[knoppix]#

Après « Saving NTFS to image ... », il ne s'est rien produit de plus et j'ai dû annuler avec Ctrl+C.

Voici ce qui a finalement fonctionné :


knoppix@1[knoppix]$ su
sudo: unable to lookup Knoppix via gethostbyname()
root@1[knoppix]# ntfsclone --save-image --output - /dev/sda2 | gzip -c | \
ssh -l web lohgopc2 'cat > /DATA/NO_BACKUP/DELL/sda2.img.gz'
ntfsclone v1.9.4
Password: NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 74940522496 bytes (74941 MB)
Current device size: 74940526080 bytes (74941 MB)
Scanning volume ...
100.00 percent completed
Accounting clusters ...
Space in use       : 7304 MB (9,7%)
Saving NTFS to image ...
Warning: No xauth data; using fake authentication data for X11 forwarding.
100.00 percent completed
Syncing ...
root@1[knoppix]#

Outre la différence évidente entre succès et échec, un rapide coup d'œil sur la sortie ne clarifie pas ce qui a fonctionné et ce qui a échoué. Regardez néanmoins les fins de ligne dans « NTFS volume version: 3.1 ».

Lors de ma tentative infructueuse, j'avais oublié de noter que ssh voulait confirmation que tout était correct pour établir une connexion avec l'autre machine. Il attendait patiemment que je saisisse yes alors que je me demandais pourquoi rien ne se produisait !

La réussite du matin suivant — après une bonne nuit de sommeil — ne comportait pas cette question parce que j'avais déjà indiqué à ssh que tout était correct et il avait enregistré ce fait de manière « permanente » (jusqu'au prochain amorçage avec Knoppix). Éveillé et pensant clairement, je me suis souvenu que le mot de passe était nécessaire et j'ai vu la requête de ssh.


8. Redimensionnement

À présent que notre filet de sécurité était en place, la première chose à faire était d'examiner la partition :


knoppix@4[knoppix]$ sudo ntfsresize --info /dev/sda2
sudo: unable to lookup Knoppix via gethostbyname()
ntfsresize v1.9.4
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 74940523008 bytes (74941 MB)
Current device size: 74940526080 bytes (74941 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 7304 MB (9,7%)
Collecting shrinkage constrains ...
Estimating smallest shrunken size supported ...
File feature         Last used at      By inode
$MFT               :     16790 MB             0
Multi-Record       :      8393 MB             9
You might resize at 7303708672 bytes or 7304 MB (freeing 67637 MB).
Please make a test run using both the -n and -s options before real resizing!
knoppix@4[knoppix]$

Plutôt que de réduire la partition autant que possible, suivons ce conseil et voyons à quoi cela ressemble si on laisse de l'espace pour les données et l'outil qui doit encore être installé :


root@0[knoppix]# ntfsresize --no-action --size 10G /dev/sda2
ntfsresize v1.9.4
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 74940523008 bytes (74941 MB)
Current device size: 74940526080 bytes (74941 MB)
New volume size    : 9999995392 bytes (10000 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 7304 MB (9,7%)
Collecting shrinkage constrains ...
Needed relocations : 395906 (1622 MB)
Schedule chkdsk for NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Relocating needed data ...
100.00 percent completed
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
The read-only test run ended successfully.

Faisons-le.


root@0[knoppix]# ntfsresize --size 10G /dev/sda2
ntfsresize v1.9.4
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 74940523008 bytes (74941 MB)
Current device size: 74940526080 bytes (74941 MB)
New volume size    : 9999995392 bytes (10000 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 7304 MB (9,7%)
Collecting shrinkage constrains ...
Needed relocations : 395906 (1622 MB)
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 for NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Relocating needed data ...
100.00 percent completed
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
Syncing device ...
Successfully resized NTFS on device '/dev/sda2'.
You can go on to shrink 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!
root@0[knoppix]#   

Maintenant que nous avons réduit la taille du secteur utilisé dans la partition physique (comparable à de-frag sous Windows, peut-être), il n'y a aucun risque à faire appel à cfdisk /dev/sda.


                                     Festplatte: /dev/sda
                                Größe: 80026361856 Bytes, 80,0 GB
                          Köpfe: 255   Sektoren pro Spur: 63   Zylinder: 9729

Name         Flags        Part. Typ   Dateisystemtyp     [Bezeichner]   Größe (MB)
---------------------------------------------------------------------------------------
sda1                       Primäre    Dell Utility                           90,48
sda2         Boot          Primäre    NTFS               []               10001,95
sda5                       Logische   Linux ext2                          10010,17
sda6                       Logische   Linux                               10001,95
Logische   Freier Bereich                      14928,89
sda7                       Logische   FAT16                               10001,95
sda8                       Logische   Linux swap / Solaris                20003,89
sda3                       Primäre    CP/M / CTOS / ...                    4984,52

[ Bootbar]  [Löschen ]  [ Hilfe  ]  [ Maxim. ]  [Ausgabe ]  [  Ende  ]
     [  Typ   ]  [Einheit.]  [Schreib.]

C'était l'étape qui demandait un soin extrême. Une erreur avec ntfsresize produit un message d'erreur ou un avertissement. À mon avis, la table des partitions est comparable à la base de registre dans certains langages assembleurs : quelque chose que l'on ne peut pas vérifier, une promesse, non une garantie. Si vous la corrompez, vous ne pourrez jamais la récupérer. Prêtez une attention toute particulière aux changements que vous faites et revenez en arrière s'il y a quelque chose que vous ne comprenez pas entièrement !


9. Touches finales

Une fois de plus, Linux triomphe ! La sauvegarde était inutile, mais je n'aurai jamais continué sans en avoir une.

Quand j'ai amorcé sous Windows, il s'est passé ce qui se passe habituellement quand on ignore ce qui se passe. Donc, je suppose que cela a fonctionné.

Créer la partition étendue et deux partitions logiques à l'intérieur de celle-ci ne pose pas de problème et ne mérite pas de plus amples discussions ici. Bien que j'aie grandi avec fdisk, je répéterai la recommandation dans la documentation, à savoir employer cfdisk à la place. Interactif et conservant les informations à propos de l'état actuel, il était très facile à utiliser.


10. Conclusion

Rétrospectivement, il n'était pas nécessaire d'alterner entre utilisateur normal et root et de copier-coller entre les écrans comme ci-dessus. Cependant, il y a un temps et une place pour chacun. Plus d'une fois, je n'ai pas remarqué que j'étais revenu à un terminal virtuel avec des privilèges root, ce qui est très mauvais ! L'idiome favori avec Knoppix est sudo. Vous n'avez pas besoin d'un mot de passe root, mais il vous permet de prendre conscience d'où vous êtes et de ce que vous faites.

Après avoir pratiqué cet exercice, il m'est apparu qu'une meilleure solution à long terme pourrait consister à sauvegarder la partition Windows comme décrit après les changements majeurs, c'est-à-dire l'installation de l'outil dont j'ai besoin. Les deux autres aussi naturellement, juste au cas ou quelque chose se passerait mal. De plus, lorsque le moment arrive où la partition Windows devient inutilisable et qu'une restauration s'avère nécessaire, faites-la simplement depuis le réseau. Cela devrait rendre ces deux autres partitions obsolètes et permettre de récupérer un espace disque conséquent.

Le modem est probablement un de ces infâmes « winmodems ». Je ne l'ai pas encore examiné, ayant actuellement du RNIS, non de l'analogique. La carte réseau fonctionne sans problème. La souris Kensington® sur le port USB a été reconnue par Knoppix dès le départ. C'est tout à fait convenable, le cordon s'ajuste dedans, à la longueur nécessaire, à partir de 0. Je peux même l'emporter quand je suis en déplacement.

Le matériel Dell® est vraiment très bon. Si vous pouviez simplement l'acquérir sans avoir à payer un système d'exploitation dont vous n'avez normalement pas besoin...

Edgar est consultant dans la région de Cologne et de Bonn (Allemagne). Son travail quotidien consiste à assister ses clients pour établir la paie, à maintenir d'anciens programmes IBM® en assembleur, quelques autres en COBOL à l'occasion et par ailleurs à utiliser QMF, PL/1 et DB/2 sous MVS.

Note

Sera rejeté tout message électronique dont le sujet ne contient pas « linuxgazette ».