Restauration ghost : OK sur PC physique / Erreur sous VirtualBox

Restauration ghost : OK sur PC physique / Erreur sous VirtualBox - Divers - Linux et OS Alternatifs

Marsh Posté le 17-11-2013 à 11:10:09    

Bonjour,
 
Je possède une image ghost du disque dur d'un PC industriel qui tourne sous un dérivé de Linux 2.4.
 
J'ai pu restaurer ce ghost sur un autre disque dur, sur un autre PC (pour info, c'est un disque dur SCSI). Ça boote bien, restauration nickel.
 
Maintenant, je voudrais faire la même chose sur une machine virtuelle. La restauration via ghost se fait sans message d'erreur, mais je n'arrive pas à booter. Le bootloader (LILO) se lance, et finit invariablement par coincer sur des erreurs "Root fs not mounted" et "Kernel Panic: VFS: Unable to mount root on fs 08:01" (screenshot ci-dessous).
 
http://i.imgur.com/y1ViZpN.jpg
 
Maintenant j'aimerai comprendre pourquoi ça fonctionne sur une machine physique et pas sous VirtualBox.
 
Des idée pour faire un début de diagnostic ?
 
Merci,

Reply

Marsh Posté le 17-11-2013 à 11:10:09   

Reply

Marsh Posté le 22-11-2013 à 15:01:23    

Salut,
Tu as essayé de mettre ton contrôleur disque VirtualBox en SCSI ?
 
 
Cdt
Stéphane

Reply

Marsh Posté le 22-11-2013 à 18:49:47    

Oui, il est bien en SCSI. Et le fait qu'il lance LILO montre qu'il arrive bien à lire le disque, partiellement au moins.
J'ai essayé de passer sous VMWare : Même problème  :(

Reply

Marsh Posté le 07-12-2013 à 17:47:21    

Ton disque a changé d'uuid vu sous linux ?
Sinon penser a virer certains fichiers de conf de udev qui ont des regles obsolètes quand on change de matériel (je pense notamment à des comportements bizarres avec la reconnaissance d'interface rezo quand on transplante un hd dans un autre matos)
Sinon essayer de change la ligne boot= et mettre un truc qui marche dedans ?

Reply

Marsh Posté le 10-12-2013 à 18:41:45    

Je ne peux pas voir l'uuid sous linux, vu que je ne peux pas lancer linux. Pour la même raison, je ne peux pas toucher aux fichiers de conf de udev.
 
Il faudrait que je mette quoi dans "boot=" ?

Reply

Marsh Posté le 11-12-2013 à 15:03:14    

Pour lancer linux, tu peux installer ton image virtuelle sur un HDD2.img en utilisant un HDD1.img qui boote. Ainsi tu pourra voir l'uuid entre autres. Mais avec un kernel 2.4 je penche plus pour un changement hda -> sda ou un truc dans le genre. Car les uuid c'est a partir de 2.6.1x a peu près.
Pour la ligne boot= je pense à modifier l'adresse du disque. Regarder l'existant et broder à partir de là.
 
Sinon la solution précédente parait elle aussi cohérente c'est peut être un problème lié à l'émulation SCSI, à des drivers ata manquants dans l'image noyau (compilés en module). Ton transplanté est aussi en scsi ou pas ?
 
Ici encore des solutions existent : essayer vmware, qemu.

Reply

Marsh Posté le 12-12-2013 à 16:38:51    

Pour voir comment Linux voit ton matériel (/dev/sda /dev/hda,..) et accéder au disque dur virtuel pour changer lilo, tu peux booter d'un livecd
 

Reply

Marsh Posté le 13-12-2013 à 11:33:01    

+1 pour livecd en tant qu'HDD1.img
 
et sinon bien sur activer les niveaux les plus eleves de verbosite du kernel, et configurer un serial tty pour relire le log kernel si pas sauvegardé.
 
Exemple avec virtualbox ici : https://wiki.ubuntu.com/Kernel/KernelDebuggingTricks (virtualbox + serial tty + minicom = win)
 
Ou encore plus avancé ici https://forums.virtualbox.org/viewt [...] =6&t=56897
 
Pour continuer le diagnostic il faut le log complet du boot via cette console serial.

Reply

Marsh Posté le 16-02-2014 à 02:18:13    

ça fait franchement penser à un initrd qui n'a pas le bon module pour le contrôleur SCSI, et un kernel qui ne gère pas directement le contrôleur en question, du coup contrôleur pas détecté => disque(s) pas détecté(s) => / introuvable => kernel panic au moment de passer de l'initramfs au /
Quand on migre un linux d'une machine à l'autre, c'est la source n°1 d'emmerdes (comme avec n'importe quel OS en fait, heureusement une distro linux c'est très modifiable  ;) )
 
pour vérifier que le pb vient bien de là : décompression du initrd dans un dossier et check du script d'init,  
 
avec un livecd d'une distro avec un kernel proche tu sera fixé sur le module à utiliser dans le initrd. Une fois que t'as pigé comment changer le chargement des modules de contrôleurs de disque dans le initrd, tu peux déplacer une install complète sur n'importe quelle machine, passer d'un contrôleur SAS à un contrôleur IDE tout pourrave, passer d'un contrôleur SATA en mode IDE à un contrôleur AHCI, etc...)


Message édité par T3K le 16-02-2014 à 02:24:24
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed