HomeMapIndexSearchNewsArchivesLinksAbout LF
[Barre de Titre]
[Bottom Bar]
[Photo de l'auteur]
Olivier Chapuis 
� propos de l'auteur : 
Dans la vie l'auteur fait des math�matiques, en particulier de la logique, de l'alg�bre et de l'informatique th�orique. Il a d�couvert Linux que r�cemment et cela a �t� pour lui une vraie r�v�lation. Il aime Muriel et son hobby pr�f�r� est actuellement la plong�e sous-marine. Il aime aussi la Bretagne, la mer, le bateau, le ski et la bonne bouffe.

�crire � l'auteur

Sommaire: 

1. Introduction

2. Principales �tapes

3. Pr�paratifs et donn�es du probl�me

4. Reconstruire la partition windows

5. Utiliser la <<nouvelle>> partition

6. Probl�mes

References

LinuxFocus Mois 1999 :

Comment supprimer windows
[Ilustration]
RésuméOn explique dans cet article  comment supprimer windows sur une machine  qui contient Linux et windows et surtout comment utiliser la place disponible pour Linux. Cet article est d�stin� aux d�butants (j'en suis un moi m�me).

1. Introduction

Il m'est arriv� un jour, environ 2 mois apr�s avoir install� Linux, de vouloir supprimer windows. La raison �tait simple je ne l'utilisais plus ! J'imagine qu'un certain nombre de d�butants sous Linux seront dans mon cas et j'ai �crit ce document pour les aider (les gourous peuvent tout de m�me le lire pour me conseiller des am�liorations). Si vous �tes dans  ce cas deux strat�gies s'offre � vous.

La premi�re est de r�installer Linux. L'avantage de cette strat�gie est qu'avec un peu d'exp�rience avec Linux vous ferez de meilleurs choix lors de l'installation, en particulier en ce qui concerne la taille de vos partitions. Son principal d�savantage c'est que vous allez tout �craser. Vous pouvez rem�dier en partie � cela en sauvegardant tout ce qui n'est pas sur votre c�d�rom d'installation. Mais r�installer cette sauvegarde peut vous faire perdre du temps et de la sueur.

La deuxi�me strat�gie est tout d'abord de supprimer windows (ce qui est tr�s facile) puis d'utiliser la place disponible pour linux, c.-�.-d. faire du <<repartitionnement>> chose assez d�licate et peu document�.  L'avantage de cette m�thode c'est que si elle r�ussie votre syst�me sera <<comme avant>> mais avec plus de place disque.  Son deuxi�me avantage c'est que si elle �choue vous pourrez toujours utiliser la premi�re strat�gie. Dans ce document j'explique comment j'ai fait. Bien sur la m�thode peut d�pendre de votre configuration.  En particulier si vous avez un �norme disque dur <<vierge>> j'imagine  que l'on peut imaginer une strat�gie beaucoup plus sure et qui donne un meilleur r�sultat. Moi mon syst�me de sauvegarde c'est des disquettes 1,44 Mo. Dans tous les cas j'esp�re que la strat�gie expos�e ci-dessous pourra aider un d�butant.

Je tiens � remercier Olivier Tharan qui a bien voulu r�pondre avec quelques d�tails � un message post� dans fr.col.moderated et qui �tait une version -1 de ce document. Je remercie aussi Finn Bo Jorgensen et  Chmouel Boudjnah pour leur r�ponse.

2. Principales �tapes

- Pr�paratifs : sauvegarder, consulter et prendre note de certains fichiers importants pour la suite. Lire la doc pour comprendre ce que l'on va faire. (section 3 ci-dessous).

- Supprimer windows (section 4 ci-dessous).

- Repartitionner, le plus d�licat (section 5 ci-dessous).

3. Pr�paratifs et donn�es du probl�me

Avant tout sauvegardez l'essentiel. En particulier, les fichiers de configurations et son travail. Je ne dirais rien de plus la dessus.

Une �tape pr�liminaire est de comprendre ce que l'on va faire. Il y a parfois quelques explications sur les commandes et fichiers dans ce qui suit mais c'est tr�s incomplet. Il faut lire les mans ! Ici il s'agit de fdisk, mk2ext, cp (commande pas si stupide), lilo, lilo.conf et fstab (il y a aussi des mans pour certains fichiers de configuration). On trouve des docs tr�s d�taill�es sur lilo dans le r�pertoire /usr/doc/lilo-0.20/doc/ (si votre syst�me est bien install�).  En particulier il existe un <<user guide>> de 46 pages ! Pour fdisk voir le fichier /usr/doc/util-linux-2.7/README.fdisk tr�s complet aussi.  En �crivant ce document j'ai appris l'existence d'un mini-Howto tr�s utile pour ce qui nous concerne : Hard Disk Upgrade Mini How-To (je ne sais pas s'il existe une traduction en fran�ais).

Tout d'abord voici ce qu'�tait ma table de partition :


   [olivier@snoopy  olivier]# /sbin/fdisk -l         (en su)

   Disk /dev/hda: 128 heads, 63 sectors, 788 cylinders
   Units = cylinders of 8064 * 512 bytes

      Device Boot  Begin   Start     End  Blocks  Id System
   /dev/hda1   *       1       1     397 1600672+  c Unknown
   /dev/hda2         398     398     601  822528  83 Linux native
   /dev/hda3         602     602     627  104832  82 Linux swap
   /dev/hda4         628     628     788  649152  83 Linux native

On voit que windows est sur hda1, il n'est pas anormale que fdisk dise  <<Unknown>> � propos de la partition FAT32. Mon noyau (� l'�poque un 2.0.34) sait g�rer ce type de syst�me de fichiers  mais cela n'est pas le cas de  mon fdisk.  A titre indicatif voil� ce que donnait df (avec la partition dos mont�e).


    [olivier@snoopy olivier]# df

    Filesystem        1024-blocks    Used   Available  Capacity  Mounted on
    /dev/hda2            796065    506992      247947     67%    /
    /dev/hda4            628351    226366      369528     38%    /home
    /dev/hda1           1594456    850420      744036     53%    /mnt/dos

On va avoir � �diter deux fichiers de configurations /etc/fstab et /etc/lilo.conf. Voici � quoi ils ressemblaient.


    [olivier@snoopy olivier] less /etc/fstab

    /dev/hda2          /                 ext2         defaults        1 1
    /dev/hda4          /home             ext2         defaults        1 2
    /dev/hda3          swap              swap         defaults        0 0
    /dev/fd0           /mnt/floppy       ext2         user,noauto     0 0
    /dev/cdrom         /mnt/cdrom        iso9660      user,noauto,ro  0 0
    none               proc              proc         defaults        0 0
    /dev/hda1          /mnt/dos          msdos        user,noauto     0 0

    [olivier@snoopy olivier] less /etc/lilo.conf

    boot=/dev/hda
    map=/boot/map
    install=/boot/boot.b
    prompt
    timeout=500
    image=/boot/vmlinuz-2.0.34-1
            label=linux
            root=/dev/hda2
            read-only
    other=/dev/hda1
           label=dos
           table=/dev/hda

4. Reconstruire la partition windows

� partir de maintenant tout se passe en root. Pour des raisons psychologique je vous conseille de vous loger en root (pas en su dans votre compte).  Si vous utilisez vi pour �diter il se peut qu'il faille utiliser w! pour sauver. Dans tous les cas je vous conseille de v�rifier que vos modifications ont bien �t� pris en compte (quitter votre �diteur et regarder le fichier avec less).

On va utiliser les commandes fdisk et mke2fs. Ces commandes agissent sur les partitions d'un disque dur ou de tout autre syst�me de sauvegarde. Il vaut mieux agir avec ces commandes sur des partitions  qui ne sont pas mont�es. Le tout ce fait en trois �tapes.

- Si votre partition dos est mont� d�monter la: umount  /mnt/dos.

- On lance fdisk. On change l'identit� de hda1: on dit � linux que cette partition sera maintenant une partition Linux native. Cela se fait avec la  commande t (t, 1, 83).  On regarde : p , la seul chose qui change c'est  le Unkown qui devient linux native et le c qui devient 83. On quitte en sauvant: w.  On re regarde: fdisk -l. En quittant fdisk j'ai eu le droit  � un message d'erreur que voici:


   The partition table has been altered!
       Calling ioctl() to re-read partition table.
       Syncing disks.
       Re-read table failed with error 16: P�riph�rique ou ressource occup�..
       Reboot your system to ensure the partition table is updated.

Ce message est � mon avis normal et inoffensif: je n'ai pas  red�marr�.

- Formater: mke2fs  /dev/hda1. Plein de chiffres apparaissent puis cela compte un peu et hop windows 98 il n'y plus ! Les gens prudents rajouterons un -c en option pour faire une v�rification rapide des mauvais blocs.

Bon et bien voil� windows a disparu. Je n'�tait pas sp�cialement comptant � cause de cela (je n'ai personnellement rien contre win98,  par contre Microsoft ...). Mais j'�tais content pour Linux ... <

5. Utiliser la <<nouvelle>> partition.

Bon maintenant on a une partition de 1,5 Go avec rien dessus, une partition de 600 Mo avec /home et une partition de 800 Mo avec / (et une partition de swap de 100 Mo). Il y a en gros 100 Mo qui est dans mon /home/moncompte qui devrait �tre dans /usr/local/ (je voulais laisser de la place sur /dev/hda2) et il y a 10Mo dans /usr/local. On va d�placer / sur hda1  et mettre /usr/local sur hda2. Ce qui devait donner en gros:


   Filesystem      1024-blocks  Used   Available Capacity Mounted on
   /dev/hda1        1600672    465000   1130672     29%    /
   /dev/hda2         796065    110000    696065     13%    /usr/local 
   /dev/hda4         628351     40739    587612      6%    /home

De l'espace pour une dizaine d'ann�es ....

Bon il faut r�aliser cela. Pour pouvoir agir sur hda1 il faut la monter quelque part. En g�n�ral on utilise /mnt.

- On cr�e un nouveau r�pertoire sur /mnt, disons /mnt/tmp pour avoir quelque chose de propre pour monter hda1 (mount ne cr�e pas  de r�pertoires: mkdir /mnt/tmp.

- On monte hda1 sur /mnt/tmp : mount -t ext2 /dev/hda1 /mnt/tmp (l� tout est clair -t ext2 indique le type du syst�me de fichier).

- On copie / sur /mnt/tmp/ en pr�servant sa structure: cp -ax / /mnt/tmp/. Pour l'option -a citons le man : <<Pr�server autant que possible la structure  et  les  attributs  du  fichier  original  lors de la copie. Cette  option est �quivalente � -dpR>>. Voir le man de cp pour la signification  de d, p et R ce qui explique mieux le a. L'option -x  demande d'ignorer les sous-r�pertoires  qui  se  trouvent   sur  un syst�me  de fichiers diff�rent de celui de d�part de la copie.  Dans notre cas cela permet de ne pas copier /home sur /mnt/hda1). Cette op�ration de copie peut prendre du temps (15 min environ avec mon disque IDE et mon AMD K6 � 266), il est temps de sortir la phrase habituelle: allez prendre une grenadine, un caf� ou un double whisky en attendant.

-  L� on a pas tout � fait le hda1 qu'il faut. � cause de l'option -x il nous manque deux r�pertoires (vides) qui sont /home et  /proc. Donc mkdir /mnt/tmp/home et mkdir /mnt/tmp/proc. Ces r�pertoires sont des points de montages ils doivent �tre l� pour que /home (qui est sur hda3) et /proc soient mont�s sur la racine.

Bon l�, les choses se compliquent un peu. On a / (=/-/home) sur hda2 mais aussi sur /mnt/tmp/.  On va pr�parer le red�marrage. Il s'agit d'�diter fstab et lilo.conf. Il faut bien se rendre compte que l'on va red�marrer avec le / qui se trouve sur /mnt/tmp/.  Donc, en ce qui concerne fstab, le fichier que l'on va modifier est en fait /mnt/tmp/etc/fstab. Pour lilo.conf c'est diff�rent il faut �diter /etc/lilo.conf lancer lilo et aussi copier le nouveau /etc/lilo.conf sur /mnt/tmp/etc/lilo.conf (pour avoir un syst�me consistant). On peut aussi �diter seulement /mnt/tmp/etc/lilo.conf et relancer lilo en lui indiquant avec l'option -C qu'il doit choisir un autre fichier de configuration. J'ai choisi la deuxi�me m�thode.

- /mnt/tmp/etc/fstab

Ce fichier indique comment et où doivent �tre mont� ce qui est montable lors du d�marrage. Lorsque l'on va red�marrer on veut que la racine / soit celle de hda1, d'o� la premi�re ligne du /etc/fstab ci-dessous. Bien sûr il ne faut pas monter deux racines ! Comme on va avoir  � travailler sur hda2 je la monte sur /mnt/tmp. Pour le reste il n'y a rien � changer.


    /dev/hda1        /                ext2     defaults         1 1  
    /dev/hda2        /mnt/tmp         ext2     defaults         1 2
    /dev/hda4        /home            ext2     defaults         1 3
    /dev/hda3        swap             swap     defaults         0 0
    /dev/fd0         /mnt/floppy      ext2     user,noauto      0 0
    /dev/cdrom       /mnt/cdrom       iso9660  user,noauto,ro   0 0
    none             /proc            proc     defaults         0 0

- /mnt/tmp/etc/lilo.conf.

lilo.conf est le fichier de configuration de lilo le petit programme qui se trouve sur le MBR. Je ne rentre pas dans les d�tails. S'il y a des gens qui n'utilisent pas lilo je leurs conseille tr�s fortement (lodalin est une absurdit� dans notre cas et pourquoi d�marrer avec une disquette de nos jour ?). Ici on indique juste � lilo que maintenant le noyau se trouve sur hda1 (il �tait avant sur hda2) et bien s�r on supprime ce qui concerne  windows.


     boot=/dev/hda
     map=/boot/map
     install=/boot/boot.b
     prompt
      timeout=500
     image=/boot/vmlinuz-2.0.34-1
           label=linux
           root=/dev/hda1
           read-only

- On relance lilo: /sbin/lilo -v -C /mnt/tmp/etc/lilo.conf. Le v c'est pour que lilo nous raconte un peut plus sa vie. Ici il est interdit de voir appara�tre un message d'erreur ! On a pas le droit de se tromper si on veut red�marrer. On doit voir quelque chose comme:


    LILO version 20, Copyright 1992-1997 Werner Almesberger
    Reading boot sector from /dev/hda
    Merging with /boot/boot.b
    Boot image: /boot/vmlinuz-2.0.34
    Added linux *
    /boot/boot.0300 exists - no backup copy made.
    Writing boot sector.

- On red�marre. Quelques petits tests (df , fdisk -l , on regarde si le syst�me de fichiers est plac� comme on l'a sp�cifi�).

- On efface tout ce qu'il y a dans /mnt/tmp/, cela se fait comme cela: rm -rf  *   dans le r�pertoire /mnt/tmp.  Ensuite on copie le r�pertoire /usr/local qui reste: cp -a  *  /mnt/tmp  dans le cd /usr/local. On regarde si tout va bien puis on efface /usr/local: rm -fr *  dans le r�pertoire  /usr/local (attention il ne faut pas effacer le <<nom >> ou disons plut�t le point de montage local !).

- On �dite une nouvelle fois /etc/fstab: on change juste la 2�me ligne:


     /dev/hda2    /usr/local          ext2    defaults       1 2

- On red�marre. On fait quelques tests.

Et voil� op�ration termin�...  J'avoue que j'�tais assez content surtout qu'apr�s j'ai test� pleins de programmes et tout marchait !

5. Probl�mes.

Et  bien j'en ai eu un petit probl�me. Ce qui est ci-dessus n'est pas exactement ce qui c'est pass� mais une id�alisation. Un  conseil que je peux vous donner c'est de comprendre un minimum ce que vous faites ce qui vous permettra de comprendre pourquoi cela ne marche pas et de r�tablir la situation.  Un conseil que m'avait donn� Olivier Tharan �tait de red�marrer en single user (je n'ai pas fait cela car la seul doc que j'ai trouv� sur le mode single user est: <<regarder  les fichiers du mode de d�marrage single user>> et j'ai eu un peu la flemme). Avant le premier red�marrage il est peut-�tre prudent d'avoir une bonne disquette de red�marrage  (il faut peut-�tre qu'elle soit adapt�e � la situation et j'avoue ne pas savoir exactement comment la r�aliser....).

Voici le petit probl�me que j'ai eu. Avant le premier red�marrage j'avais fait presque ce qui est expliqu� ci-dessus. Mais lors du d�marrage au niveau du montage du syst�me de fichiers une suite de messages d'erreurs c'est mis � d�filer � toute vitesse. J'ai r�ussi � lire: /proc  ...  error ... error ... /home ... error (sans trace dans /var/log/messages). PPuis (ouf) l'invite de login est apparue. Je me loge en root et tout de suite


    [root@snoopy root]$ df
     Filesystem      1024-blocks    Used   Available  Capacity  Mounted on
     /dev/hda1          1548535   506977    961525     35%       /
     /dev/hda2           796065   506992    247947     67%       /mnt/tmp

La maison n'avait pas �t� mont�. J'ai �dit� fstab, mais tout semblait normal. Ensuite j'ai eu la brillante id�e (le double whisky ?) de vouloir monter /home et  j'ai eu le droit � un truc du genre <<pas de point de montage>>.  � ce point, j'ai compris que je n'avais pas compris ce qu'�tait un point de montage et que j'avais un peut oubli� l'option x de cp (j'avoue avoir un peu honte). J'ai cr�� les bons points de montages: /home et /proc,  et j'ai mont� ma /home et /proc pour voir si cela �tait OK.  Puis l'op�ration c'est termin� comme expliqu� ci-dessus.


References

  • Pages de man: fdisk, mk2ext, cp, mv, rm, lilo, lilo.conf et fstab
  • /usr/doc/lilo-0.20/doc/User_Guide.ps
  • /usr/doc/util-linux-2.7/README.fdisk
  • Hard Disk Upgrade Mini How-To

  • Article original en Fran�ais
    © Olivier Chapuis 1999
    LinuxFocus1999
    Contacter le Webmestre