Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probl

8 réponses
Avatar
grass.hoper
Bonsoir,

J'essaye de copier mon système (le partition /) d'un disque sur un
autre : de /dev/sda1 à /dev/hda1. Je rencontre des problèmes au démarrage
du système de destination. Voilà ce que j'ai fait.

Booter un système Linux sur CD. Connecté en tant que root.
dd if=/dev/hda1 of=/dev/sda1 bs=4096
mount -t reiserfs /dev/hda1 /mnt/hd
cd /mnt/hd
chroot .
sed 's/sda1/hda1/g' /etc/fstab -i
mkinitrd -c -k 2.6.21.5-smp -r /dev/hda1 -f reiserfs -m reiserfs
sed 's/sda1/hda1/g' /etc/lilo.conf -i (lilo est installé sur le MBR de /
dev/hda)
lilo

Aucun problème n'est indiqué jusque là. Je reboote. Au démarrage, quand
il tente de monter le partition / j'obtiens :
mount: mounting /dev/hda1 on /mnt failed

Après forcément, pas de / donc pas de init, donc kernel panic.

Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ?
Comment pourrais-je lui dire gentiment de monter au bon endroit ?

Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),
GH

8 réponses

Avatar
Nicolas S.

Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),


Et ne pas utiliser dd pour faire des copies.

Revois la méthode. Essaie de faire en sorte d'utiliser cp avec les
bonnes options par exemple.

--
Nicolas S.

Avatar
Kevin Denis
On 2008-05-06, wrote:
J'essaye de copier mon système (le partition /) d'un disque sur un
autre : de /dev/sda1 à /dev/hda1.


quelle distrib?

Je rencontre des problèmes au démarrage
du système de destination. Voilà ce que j'ai fait.

Booter un système Linux sur CD. Connecté en tant que root.
dd if=/dev/hda1 of=/dev/sda1
^^^ ^^^

Je pense qu'il y a une faute de frappe. Parceque la tu recopies le
hda1 vers le sda1. A part ça, je te conseillerai plutôt tar; cela
te permettrait même de redimensionner tes partitions au passage.
fdisk /dev/hda
(tu tronconnes le disque a tes souhaits)
(tu formattes les fs)
mkdir /hd
mount -t ext3 /dev/hda1 /hd
mkdir /hd/usr (par exemple)
mount -t ext3 /dev/hda2 /hd/usr etc..

mount -t reiserfs /dev/hda1 /mnt/hd
cd /mnt/hd
chroot .
sed 's/sda1/hda1/g' /etc/fstab -i
mkinitrd -c -k 2.6.21.5-smp -r /dev/hda1 -f reiserfs -m reiserfs
sed 's/sda1/hda1/g' /etc/lilo.conf -i (lilo est installé sur le MBR de /
dev/hda)
lilo

Aucun problème n'est indiqué jusque là. Je reboote. Au démarrage, quand
il tente de monter le partition / j'obtiens :
mount: mounting /dev/hda1 on /mnt failed

Après forcément, pas de / donc pas de init, donc kernel panic.

Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ?


Je dirais que tu es encore dans l'initrd. L'initrd cherche a monter
la racine dans le /mnt de l'initrd, puis il bascule sur la racine
réelle ensuite.

Comment pourrais-je lui dire gentiment de monter au bon endroit ?

Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),

Si tu te sens l'ame sportive, au boot ajoutes un:

linux rdinit=/bin/sh

ceci lancera dans l'initrd un /bin/sh au lieu du script chargé de monter
ta partition. Depuis ce shell, explore et regarde pourquoi la partition
ne monte pas.

--
Kevin

Avatar
Cumbalero

quelle distrib?


Quel rapport?

A+
JF

Avatar
Kevin Denis
On 2008-05-07, Cumbalero wrote:
quelle distrib?


Quel rapport?

L'initrd employé.

--
Kevin


Avatar
Grasshoper
07/05/2008 02:02 - Nicolas S. :
Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),
Et ne pas utiliser dd pour faire des copies.


Revois la méthode. Essaie de faire en sorte d'utiliser cp avec les
bonnes options par exemple.


J'essaierai. Quel pourrait être le rapport entre ceci et mon problème ?


Avatar
Grasshoper
07/05/2008 10:06 - Kevin Denis :
On 2008-05-06, wrote:
J'essaye de copier mon système (le partition /) d'un disque sur un
autre : de /dev/sda1 à /dev/hda1.
quelle distrib?



Slackware 12.0

Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ?
Je dirais que tu es encore dans l'initrd. L'initrd cherche a monter

la racine dans le /mnt de l'initrd, puis il bascule sur la racine
réelle ensuite.


Ce serait donc normal ?

Comment pourrais-je lui dire gentiment de monter au bon endroit ?

Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),

Si tu te sens l'ame sportive, au boot ajoutes un:

linux rdinit=/bin/sh

ceci lancera dans l'initrd un /bin/sh au lieu du script chargé de monter
ta partition. Depuis ce shell, explore et regarde pourquoi la partition
ne monte pas.


Va y avoir du sport. Je ne connaissais pas, merci.


Avatar
Kevin Denis
On 2008-05-07, Grasshoper wrote:
quelle distrib?


Slackware 12.0

Ok


Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ?
Je dirais que tu es encore dans l'initrd. L'initrd cherche a monter

la racine dans le /mnt de l'initrd, puis il bascule sur la racine
réelle ensuite.


Ce serait donc normal ?

Oui. Les dernières lignes du script init dans l'initramfs sont:

# Switch to real root partition:
echo 0x0100 > /proc/sys/kernel/real-root-dev
mount -o ro -t $ROOTFS $ROOTDEV /mnt
if [ ! -r /mnt/sbin/init ]; then
echo "ERROR: No /sbin/init found on rootdev (or not mounted). Trouble ahead.
"
exit 1
fi
unset ERR
umount /proc
umount /sys
echo "${INITRD}: exiting"
exec switch_root /mnt /sbin/init $@

Ceci t'explique pourquoi la racine monte sur /mnt

Comment pourrais-je lui dire gentiment de monter au bon endroit ?

Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),

Si tu te sens l'ame sportive, au boot ajoutes un:

linux rdinit=/bin/sh

ceci lancera dans l'initrd un /bin/sh au lieu du script chargé de monter
ta partition. Depuis ce shell, explore et regarde pourquoi la partition
ne monte pas.


Va y avoir du sport. Je ne connaissais pas, merci.

L'autre solution est de rebooter avec la distrib sur /dev/sda1 et

ouvrir l'initramfs de la distrib sur hda1:
zcat initramfs.gz | cpio -i -d -H newc --no-absolute-filenames
Verifie bien les modules présents dans ton initramfs.

La slack vient avec plusieurs noyaux. Il y en a un, appelé "huge"
qui contient vraiment tout un tas de pilotes en dur. Essaye le.
Une explication de ton comportement pourrait provenir du fait que
le noyau n'a pas le pilote du chipset de ton disque hda, d'ou
l'échec de l'ouverture de /dev/hda1
--
Kevin



Avatar
grass.hoper
Le Wed, 07 May 2008 10:05:58 +0000, Kevin Denis a écrit :
L'autre solution est de rebooter avec la distrib sur /dev/sda1 et ouvrir
l'initramfs de la distrib sur hda1: zcat initramfs.gz | cpio -i -d -H
newc --no-absolute-filenames Verifie bien les modules présents dans ton
initramfs.

La slack vient avec plusieurs noyaux. Il y en a un, appelé "huge" qui
contient vraiment tout un tas de pilotes en dur. Essaye le. Une
explication de ton comportement pourrait provenir du fait que le noyau
n'a pas le pilote du chipset de ton disque hda, d'ou l'échec de
l'ouverture de /dev/hda1


Grâce à ces utiles conseils, j'ai réussi à me dépatouiller. Je vous en
remercie.

Conclusion : faut pas oublier de monter /proc quand on fait son initrd...