Installation : réinstaller linux depuis un système existant

Bonjour,

J’ai installé il y’a quelques temps une version de DEBIAN (WHEEZY) à partir d’un live CD.

J’ai upgradé celle-ci vers une version stable(JESSIE) et fait pas mal de testes divers sur cette version.

Maintenant j’aimerai réinstaller un système propre mais je suis confronté à un problème. Je ne peux pas booter sur un périphérique USB et mon lecteur de DVD est HS.

Ma question est donc simple :

[b]Sachant que l’OS est installé sur mon portable et que la connexion internet est fonctionnelle, est’ il possible de relancer l’installation du système à partir du système déjà installer ?

Via une commande dans le terminal qui réinstallerai tout en écrasant la version actuelle par exemple.
[/b]

Il me semble que c’est impossible.
Pourquoi tu n’arrives pas à booter sur une clé usb ? tu n’arrives pas à la voir dans bios ?

Une méthode consistant à utiliser debootstrap est décrite dans l’annexe D.3 du manuel d’installation.
Installer Debian GNU/Linux à partir d’un système Unix/Linux
(Note: Bizarrement, le manuel d’installation censé être celui de stable/Jessie fait référence à Stretch, l’actuelle testing)

Ce n’est pas la méthode la plus simple et elle ne permet pas de repartitionner et reformater tout le disque d’un coup lors de l’installation, puisque le système depuis lequel on fait l’installation doit rester intact. Si tout le disque est occupé par une unique partition racine (hors swap), ça risque de ne pas être possible puisque la majorité des systèmes de fichiers ne permettent pas la réduction à chaud (btrfs est une exception).

Je trouve que la présence de LVM serait avantageuse dans cette situation : on crée de nouveaux volumes logiques pour le système à installer, et ensuite on peut supprimer les volumes logiques de l’ancien système et réutiliser l’espace pour agrandir les nouveaux volumes, sans les contraintes de contiguïté qui existent avec des partitions normales.

S’il n’est pas possible de booter sur USB mais néanmoins s’il est possible de lire un périphérique USB, alors une autre méthode consiste à installer la partie bootable de l’installateur Debian (noyau et initramfs) sur le disque et l’amorcer depuis le chargeur du disque (GRUB, LILO…). Cette partie n’étant plus nécessaire une fois l’installateur démarré, le disque pourra être repartitionné et reformaté en entier. Mais attention : c’est une arme à un coup, car si l’installation échoue alors la machine ne pourra plus booter sur le disque interne.

Si je peux me permettre une remarque, ce n’est pas une situation d’avenir. Au moindre pépin empêchant de démarrer, tu ne pourras pas réparer.

Reste une autre méthode : prendre le disque et le brancher sur une autre machine pour faire l’installation.

Selon l’espace disque disponible et dans le cadre d’une architecture [mono]amd64[/mono] (Cf. les liens).

https://www.debian.org/releases/stable/amd64/index.html.fr

http://ftp2.fr.debian.org/pub/debian/dists/jessie/main/installer-amd64/current/images

On sait toujours pas pourquoi tu peux pas booter sur une clė USB ?

De la théorie je suis passé à la pratique, qui est relativement simple.

[code]# mkdir /boot/newinstall

cd /boot/newinstall[/code]

/boot/newinstall # wget -c http://ftp2.fr.debian.org/pub/debian/dists/jessie/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux /boot/newinstall # wget -c http://ftp2.fr.debian.org/pub/debian/dists/jessie/main/installer-amd64/current/images/hd-media/initrd.gz
Déclarer la nouvelle entrée [mono]Grub[/mono] en : [mono]/etc/grub.d/40_custom[/mono].

[code][13:23:01] ~ # cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0

This file provides an easy way to add custom menu entries. Simply type the

menu entries you want to add after this comment. Be careful not to change

the ‘exec tail’ line above.

menuentry “newinstall” --class debian --class gnu-linux --class gnu --class os {
recordfail=1
insmod ext2
set root=(hd0,1)
linux /boot/newinstall/linux root=/dev/ram0 ramdisk_size=13000
initrd /boot/newinstall/initrd.gz
}
[13:23:06] ~ #[/code]
La prise en compte.

Voilà, il suffit de redémarrer et de sélectionner la ligne [mono]newinstall[/mono] du menu [mono]Grub[/mono].
On se retrouve avec une installation en mode texte, choix du partitionnement, etc …
Je viens d’installer ainsi, une [mono]Jessie Xfce[/mono] (de [mono]2,6G[/mono] d’espace requis).

PS: faire attention à ce paramètre [mono]set root=(hd0,1)[/mono] représentant le disque 1 et la partition 1 (une) à la lumière de [mono]fdisk -l[/mono].

C’est pas mal comme procédé. c’est bon à savoir en cas que l’usb foire et sans lecteur CD.

Oui et cela, offre bon nombre de solution à mettre en place, prochainement.
Par exemple, le fait de booter sur ce nouvel installateur ([mono]newinstall[/mono]) te donne accès, aussi, au [mono]mode rescue[/mono].

Pour les fichiers testing amd64 c’est environs 13-14mb, faudra donc mettre ramdisk_size=15000 pour ne pas avoir de soucis ?
Merci pour la solution.

[18:23:05] /boot/newinstall # ll total 18M -rw------- 1 root root 3,0M 2016-01-18 17:04 linux -rw------- 1 root root 15M 2016-01-18 16:55 initrd.gz [18:23:07] /boot/newinstall #

Je me demande, est-il nécessaire de spécifier les options root et ramdisk_size dans la ligne de commande du noyau ? Si je ne m’abuse, le fichier initrd.gz est un initramfs (donc un rootfs, similaire à un tmpfs et non à un ramdisk) qui reste la racine tout au long du fonctionnement de l’installateur.

d’abord merci pour vos réponses.

Pour répondre au pourquoi je ne peux pas booter sur une clé USB :

Ou je n’ai pas la possibilité de booter une clé USB ou alors c’est bien caché.

Si je me base sur la méthode décrite par BELZEBUTH il faudrait récupérer deux fichiers images sur le disque dur.
Mettre à jour l’entrée de GRUB et puis démarrer sur cette nouvelle entrée au démarrage du PC qui va utiliser ces images pour réinstaller le système.
Si c’est le cas :
Possédant un ancien PC n’étant pas 64 bits je suppose que je dois remplacer la chaine « amd64 » par i386 dans les chemins ?
Si la première image est l’installation réseau à quoi sert l’autre image « initrd.gz » ?
Qu’ecce que le « ramdisk_size » ?
Et enfin par rapport au paramètre « set root=(hd0,1) » première partition du premier disque si je ne me trompe pas. Mon fdisk –l me retourne ceci:

Je dois donc remplacer (hd0,1) par (sda,1) ?

Une clé USB bootable était-elle branchée ? Certains BIOS n’affichent les options de boot USB que lorsqu’un périphérique de stockage USB est présent au démarrage.
De quand date le BIOS de cette machine ? Il me semble que le boot USB a commencé à être courant au moins à partir de 2002.

Oui, bien vu.

Quelle première image ? Le fichier vmlinuz|linux contient l’image du noyau, et le fichier initrd.gz contient le système de fichiers racine initial de l’installateur.

C’est un paramètre qui définit la taille par défaut des ramdisks (disques virtuels en RAM). La racine initiale actuelle (initramfs) n’utilise plus un ramdisk mais une sorte de tmpfs, c’est pourquoi je ne vois pas son utilité.

Faire une capture d’écran graphique pour transmettre le contenu d’un terminal alors qu’on pourrait faire un simple copier-coller de texte est de l’abus.

Non. (hd0,1) est la notation de la partition dans GRUB. /dev/sda1 est le nom de la partition dans Linux.

Merci pour toutes ces réponses, je vais essayer ça ce week-end, je devrais pouvoir m’en sortir.

Ca a marché j’ai pu réinstaller le système complètement.
NB: il faut effectivement connecter le périphérique USB avant de demander au BIOS de le booter.

Merci à vous.

Je préfère ça.
Ce fut un long week-end.