Installer une distribution linux sans graver de CD et sans redémarrer
Publi� le 11 octobre 2010

(JPEG) Il existe des manières différentes d'installer une distribution linux sans graver de CD. Il y a plusieurs raisons qui expliquent que l'on souhaite se passer de CD :

-  un CD (même réinscriptible) çà pollue
-  pendant l'installation de la distribution, on ne peut pas surfer (sauf si la distribution propose une version Live avec un programme d'installation comme Ubuntu)
-  on peut vouloir utiliser pleinement son système pendant que l'on installe une nouvelle distribution

Pour atteindre ce but, la méthode qui vient le plus rapidement à l'esprit est d'utiliser une machine virtualisée (qemu, vmware, virtualbox). Cela nécessite de faire tourner la machine virtuelle sur le même disque dur que votre OS courant avec les risques que cela comporte (écrasement de la table des partitions, installation d'un autre bootloader). Il y a un autre inconvénient qui est de devoir disposer d'un ordinateur hôte assez puissant pour pouvoir faire tourner la machine virtuelle.

Finalement, il existe une méthode très simple qui fonctionne avec les versions Live. Les versions Live sont des versions le plus souvent complètes, càd, que le système Live et celui que vous obtenez lorsque vous installez la distribution est le même. C'est le cas de Ubuntu par exemple et de ces dérivées. Comme il s'agit d'un système complet, il suffit de le copier dans une partition, puis de l'ajouter au programme de démarrage (grub) et démarrer sur celle-ci.

Pour accéder au système Live, il faut récupérer le fichier nommé généralement squashfs.img et le décompresser dans la partition que l'on aura préalablement créée.

Voici la procédure :


#montage du CD
$ sudo mkdir /media/CD
$ sudo mount fichieriso.iso /media/CD -o loop

#decompression de l'image disque dans une partition montée
$ mkdir /media/MAPARTITION
$ mount /dev/sda<n°> /media/MAPARTITION
$ cd /dev/MAPARTITION
$ sudo unsquashfs /media/CD/LiveOS/squashfs.img
Parallel unsquashfs: Using 2 processors
1 inodes (24000 blocks) to write

[===-                                    ]   908/24000   3%
$ sudo ls
lost+found  squashfs-root
sudo mv squashfs-root/* .
lost+found  squashfs-root
$ sudo rmdir squashfs-root

#récupération de l'accès internet
$ sudo cp /etc/resolv.conf /media/MAPARTITION/etc
#récupération de la table des partitions
$ sudo cp /etc/fstab /media/MAPARTITION/etc
#il faut corriger ce fichier avec la bonne partition de démarrage
$ sudo vi /media/MAPARTITION/etc/fstab

#on se positionne sur le système en le chrootant
$ sudo chroot /media/MAPARTITION

# création d'un utilisateur
$ adduser moi
# ajout de l'utilisateur aux groupes (/etc/groups); cela dépend de la distribution. Exemple pour ubuntu :
$ addgroup moi adm
$ addgroup moi dialout
$ addgroup moi cdrom
$ addgroup moi plugdev
$ addgroup moi lpadmin
$ addgroup moi admin
# on donne les droits sudo à cet utilisateur
$ vi /etc/sudoers
ajouter :
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
#on change le nom de la machine
$ echo mamachine >/etc/hostname

#on fait un upgrade des paquets (éventuellement on peut installer nos programmes fétiches); la commande dépend du gestionnaire de paquets; exemple avec fedora :
$ yum upgrade
#avec debian
$ apt-get update
$ apt-get upgrade
#on installe le fichiers de langue
#fedora
$ yum install language-pack-fr
#debian
$ apt-get install language-pack-fr
#supprimer les programmes inutiles
$ apt-get autoremove casper ubiquity

#taper ctrl-d pour sortir du chroot

# on met à jour grub
$ sudo update-grub

Si tout s'est bien passé vous devriez voir votre nouvelle distribution dans l'écran de démarrage grub lors du redémarrage. Si ce n'est pas le cas, c'est que grub n'a pas trouvé l'image grub. Dans ce cas, il peut être nécessaire d'installer grub et une image de démarrage si le CD fournit sa propre image.


$ apt-get install grub-pc linux-image

Voilà ! Vous devriez pouvoir démarrer sur la nouvelle partition avec votre OS fraîchement installé !

Il existe néanmoins une contrainte. Si l'OS hôte est 32bits alors l'OS invité doit avoir la même architecture [1]. Mais cet inconvénient existe aussi pour les programmes de virtualisation sauf qemu [2].


[1] sinon il ne sera pas possible de chrooter.

[2] qui permet d'installer un système 64bits virtualisé à partir d'un OS 32 bits.