Page 1 sur 1

[kernel] Partition non trouvée au boot [résolu]

Publié : lun. 02 mai 2011, 14:05
par Pheimors
Bonjour,
J'ai mis à jour mon system, tout semblait fonctionner jusqu'à ce que j'éteigne mon PC. Le kernel a été mis à jour de la version 2.6.37.4-4 à la version 2.6.38.4-1.
Pour la mise à jour, j'ai utilisé :

Code : Tout sélectionner

pacman -Syu
pacman-db-upgrade
pacman -Syyu
Au redémarrage d'Archlinux, je me retrouve avec :

Code : Tout sélectionner

...
Root device '/dev/sda3' doesn't exist. Attempting to create it.
ERROR : Unable to determine major/minor number of root device '/dev/sda3'.
Your are being dropped to a recovery shell
        Type 'exit' to try and continue booting
/bin/sh: can't access tty; job control turned off
[ramfs /]#
Au niveau de l'organisation des partitions. Je suis en dual boot XP-archLinux.
*sda1 et sda2 : XP
*sda3 : la racine est '/' et tout le systeme est sur cette partition.
*sda4 : swap

Je continue en tapant 'exit', et :

Code : Tout sélectionner

Trying to continue (this will most likely fail) ...
error: /dev/sda3: No such file or directory
ERROR: Unable to determine the file system type of /dev/sda3:
Either it contains no filesystem, an unknown filesystem,
or more than one valid file system signature was found.

Try adding
        rootfstype=your_filesystem_type
to the kernel command line.

you are now being dropped to an emergency shell.
/bin/sh: can't access tty; job control turned off
[ramfs /]#
[parenthèse]
J'ai un peu de mal à comprendre ce qui se passe. Je n'ai aucune partition Archlinux montée, je me trompe ? Pourtant, lorsque je tape un bête 'ls', je me retrouve avec :

Code : Tout sélectionner

bin   dev   hooks   init_functions   new_root   ... ... ...
Ou suis-je, dans ce cas ? Qu'est-ce qui a été monté pour m'afficher tout ça ?
[/parenthèse]

Via un live CD, je vérifie /etc/fstab. Je ne sais pas si c'est une bonne réaction de ma part. Le résultat est :

Code : Tout sélectionner

<file system>    <dir>    <type>    <options>    <dump>    <pass>
# Je ne sais pas du tout à quoi correspondent ces lignes-là.
devpts    /dev/pts    devpts   defaults      0    0
shm       /dev/shm    tmpfs    nodev,nosuid    0    0
# Partition Archlinux
/dev/sda3    /       ext4    defaults    0    1
/dev/sda4    swap    swap    defaults    0    0
J'ai l'impression qu'ici, tout est correct. Je me tourne au niveau du fichier de configuration du grub, que je maîtrise plutôt mal (pas souvent l'occasion d'y toucher).

Code : Tout sélectionner

# (0) Arch Linux
title Arch Linux
root (hd0, 2)
kernel /boot/vmlinuz26 root=/dev/sda4 ro vga)0x0317
initrd /boot/kernek26.img

# (1) Arch Linux
# Même problème que précédemment si je boot là-dessus
title Arch Linux Fallback
root (hd0,2)
kernel /boot/vmlinuz26 root=/dev/sda3 ro
initrd /boot/kernel26-fallback.img
Voilà tout ce que j'ai réussi à glaner pour l'instant. Sur différents forum, il était conseillé de lancer des commandes comme mkinitcpio, mais à chaque fois : command not found.

Je ne vois pas du tout quoi faire à ce niveau-là. Que me conseilleriez-vous ?
Merci

Re: [kernel] Partition non trouvée au boot

Publié : lun. 02 mai 2011, 14:13
par benjarobin
Il y a de nombreux sujet là dessus, c'est juste que tu n'as pas suivie le wiki :D
Utilise des UUID dans GRUB et dans ton fstab...

Re: [kernel] Partition non trouvée au boot

Publié : lun. 02 mai 2011, 14:16
par FoolEcho
Peux-tu démarrer sur le fallback ?

Sinon:
Pheimors a écrit :Au niveau de l'organisation des partitions. Je suis en dual boot XP-archLinux.
*sda1 et sda2 : XP
*sda3 : la racine est '/' et tout le systeme est sur cette partition.
*sda4 : swap
Va falloir vérifier tout ça... Via le livecd, renvoie-nous le résultat de:

Code : Tout sélectionner

fdisk -l
... et une bonne idée serait de définir tes partitions dans /etc/fstab et le menu.lst par UUIDs.
Pour les trouver:

Code : Tout sélectionner

blkid
Et refaire les images (via ton liveCD en chrootant ton Arch, cf. wiki ou exemples sur le forum):

Code : Tout sélectionner

mkinitpcio -p kernel26
Pheimors a écrit :Ou suis-je, dans ce cas ? Qu'est-ce qui a été monté pour m'afficher tout ça ?
Le ramdisk.
Pheimors a écrit :vga)0x0317
")" ??
Devrait être vga=0x0317

... bon, grillé. :copain:

Re: [kernel] Partition non trouvée au boot

Publié : lun. 02 mai 2011, 14:29
par tuxce
Pheimors a écrit : J'ai un peu de mal à comprendre ce qui se passe. Je n'ai aucune partition Archlinux montée, je me trompe ? Pourtant, lorsque je tape un bête 'ls', je me retrouve avec :

Code : Tout sélectionner

bin   dev   hooks   init_functions   new_root   ... ... ...
Ou suis-je, dans ce cas ? Qu'est-ce qui a été monté pour m'afficher tout ça ?
Tu es dans l'initrd qui contient un système minimal et qui se charge en ram au démarrage.

Au pif, t'as une clé ou disque branché sur ta machine ? ou alors t'en a rajouté/enlevé un interne ?

Re: [kernel] Partition non trouvée au boot

Publié : mar. 03 mai 2011, 01:52
par Kiljaeden
J'ai exactement le même problème, mais je pense que c'est pire chez moi : j'arrive à démarrer en fallback, mais alors udev affiche des points d'interrogations en disant qu'il ne trouve pas de driver et bloque. Je Ctrl-C, et le boot se poursuit, je peux me loguer. Mais surprise, l'host est devenu (none), et une fois connecté en root@(none), je ne peux rien faire, le système de fichier est en lecture seule. Ceci suite à une installation toute fraiche et mise à jour par un chroot depuis un live cd graphique (je suis sur une connexion publique qui nécessite identification via un navigateur et arch reconnait pas mon eth0). Bien entendu, j'ai essayé avec plusieurs médias d'installation différents et j'ai réinstallé plusieurs fois, toujours sans succès.
Bref, c'est la mouise, mais peut être devrais-je ouvrir un nouveau sujet ?

Re: [kernel] Partition non trouvée au boot

Publié : mar. 03 mai 2011, 08:58
par benjarobin
En effet ouvre une autre sujet, merci :D

Re: [kernel] Partition non trouvée au boot

Publié : ven. 06 mai 2011, 17:32
par Pheimors
Re-bonjour,
Merci pour vos réponses, et désoler pour le retard de la mienne. J'étais assez éloigné de mon PC malade.

Tout d'abord :
Pheimors a écrit :vga)x317
")" ??
Devrait $etre vga=0x0317
En effet, faute de frappe de ma part. J'avais la flemme de monter une clef usb pour copier les données, je me suis retrouver taper le tout à la main...
benjaminrobin a écrit : Il y a de nombreux sujet là-dessus, c'est juste que tu n'as pas suivi le wiki.
En effet. J'ai parcouru le wiki en long et en large, mais je n'ai aucune idée de la cause de mon problème. Sans connaître cette info, je n'ai pas pu correctement orienter mes recherches dans le wiki, et donc, je n'ai pas pu le parcourir en travers.

A propos des partitions :

Code : Tout sélectionner

# fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x21842183

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2550    20482843+   7  HPFS/NTFS
/dev/sda2            2551       40795   307202962+   7  HPFS/NTFS
/dev/sda3           40796       60419   157628416   83  Linux
/dev/sda4           60419       60802     3072000   82  Linux swap / Solaris

Disk /dev/sdb: 3999 MB, 3999268864 bytes
82 heads, 18 sectors/track, 5292 cylinders
Units = cylinders of 1476 * 512 = 755712 bytes
Disk identifier: 0xc3072e18

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           6        5293     3901504    b  W95 FAT32

Code : Tout sélectionner

# blkid -g
# blkid
/dev/sda1: UUID="E67895D77895A6B9" TYPE="ntfs" 
/dev/loop0: TYPE="squashfs" 
/dev/sda2: UUID="42E88701E886F309" LABEL="Brouette" TYPE="ntfs" 
/dev/sda3: LABEL="alin" UUID="72fc38cc-396c-4ca8-8672-11494f5a6ffa" TYPE="ext4" 
/dev/sda4: TYPE="swap" UUID="d7a5fd78-147d-4bb9-8acb-8cd1ecac5b44" 
/dev/sdb1: LABEL="ROCHERB" UUID="582E-CAF4" TYPE="vfat"
Donc je passe le tout en UUID, et je me retrouve donc avec :
(j'ai commenté les anciennes données pour backup)

Code : Tout sélectionner

# /boot/grub/menu.lst

# DEVICE NAME CONVERSIONS 
#
#  Linux           Grub
# -------------------------
#  /dev/fd0        (fd0)
#  /dev/sda        (hd0)
#  /dev/sdb2       (hd1,1)
#  /dev/sda3       (hd0,2)
#

# configuration , j'ai coupé cette partie pour plus de lisibilité

# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*

# (0) Arch Linux
title  Arch Linux
root   (hd0,2)
#kernel /boot/vmlinuz26 root=/dev/sda3 ro vga=0x0317
kernel /boot/vmlinuz26 root=UUID=72fc38cc-396c-4ca8-8672-11494f5a6ffa ro vga=0x0317
initrd /boot/kernel26.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd0,2)
#kernel /boot/vmlinuz26 root=/dev/sda3 ro
kernel /boot/vmlinuz26 root=UUID=72fc38cc-396c-4ca8-8672-11494f5a6ffa ro
initrd /boot/kernel26-fallback.img

# (2) Windows
title Windows
rootnoverify (hd0,0)
makeactive
chainloader +1
et

Code : Tout sélectionner

cat etc/fstab 
# 
# /etc/fstab: static file system information
#
#
# <file system>        <dir>         <type>    <options>          <dump> <pass>
devpts                 /dev/pts      devpts    defaults            0      0
shm                    /dev/shm      tmpfs     nodev,nosuid        0      0
#/dev/sda3 / ext4 defaults 0 1
UUID="72fc38cc-396c-4ca8-8672-11494f5a6ffa"	/	ext4	defaults	0	1
#/dev/sda4 swap swap defaults 0 0
UUID="d7a5fd78-147d-4bb9-8acb-8cd1ecac5b44"	swap	swap	defaults	0	0
#/dev/sda2			/mnt/brouette	auto		auto,rw,user,utf8,fmask=0,umask=00	0
UUID="42E88701E886F309"			/mnt/brouette	auto	auto,rw,user,utf8,fmask=0,umask=00	0
J'ai testé avec ça, mais le problème est toujours présent. A la seul différence, que la partition non reconnu est cette fois indiquée avec l'UUID.

Je passe alors à mkinitcpio. Le chroot se fait de cette manière :

Code : Tout sélectionner

# mount /dev/sda3/ /media/alin
# mount --bind /dev /media/alin
# mount -t proc /proc /media/alin/proc
# mount -t sysfs /sys /media/alin/sys
# chroot
# mkinitpcio -p kernel26
Là, je reçoit une erreur. Il ne trouve pas iudev dans le HOOK. Je me rend compte que iudev n'existe pas et que ça devrait être udev (du moins, selon google). Je modifie la valeur iudev dans mkinitcpio.conf par udev. Je ne comprends pas pourquoi une telle erreur. Je ne pense pas avoir touché à ça durant mon installation.
Je recommence, tout ce passe à merveille.
Je démonte le tout, je reboot et là : le problème est toujours le même.

Que faire ?

edit :
Au cas où, voilà le mkinitcpio.conf. J'ai commenté la ligne avec le iudev.

Code : Tout sélectionner

# cat /etc/mkinitcpio.conf 
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES="piix ide_disk reiserfs"
MODULES="ext4"

# BINARIES
BINARIES=""

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in anyway.  This is useful for config files.
# Some users may wish to include modprobe.conf for custom module options,
# like so:
#    FILES="/etc/modprobe.conf"
FILES=""

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
#    This setup specifies all modules in the MODULES setting above.
#    No raid, lvm2, or encrypted root is needed.
#    HOOKS="base"
#
#    This setup will autodetect all modules for your system and should
#    work as a sane default
#    HOOKS="base udev autodetect pata scsi sata filesystems"
#
#    This is identical to the above, except the old ide subsystem is
#    used for IDE devices instead of the new pata subsystem.
#    HOOKS="base udev autodetect ide scsi sata filesystems"
#
#    This setup will generate a 'full' image which supports most systems.
#    No autodetection is done.
#    HOOKS="base udev pata scsi sata usb filesystems"
#
#    This setup assembles an pata raid array with an encrypted root FS.
#    Note: See 'mkinitcpio -H raid' for more information on raid devices.
#    HOOKS="base udev pata raid encrypt filesystems"
#
#    This setup loads an lvm2 volume group on a usb device.
#    HOOKS="base udev usb lvm2 filesystems"
#HOOKS="base iudev autodetect pata scsi sata filesystems"
HOOKS="base udev autodetect pata scsi sata filesystems"

# COMPRESSION
# Use this to compress the initramfs image. With kernels earlier than
# 2.6.30, only gzip is supported, which is also the default. Newer kernels
# support gzip, bzip2 and lzma.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
Et voilà la sortie de ma commande mkinitcpio -p kernel

Code : Tout sélectionner

# mkinitcpio -p kernel26
==> Building image "default"
==> Running command: /sbin/mkinitcpio -k 2.6.38-ARCH -c /etc/mkinitcpio.conf -g /boot/kernel26.img
:: Begin build
:: Parsing hook [base]
:: Parsing hook [udev]
:: Parsing hook [autodetect]
:: Parsing hook [pata]
:: Parsing hook [scsi]
:: Parsing hook [sata]
:: Parsing hook [filesystems]
:: Generating module dependencies
:: Generating image '/boot/kernel26.img'...SUCCESS
==> SUCCESS
==> Building image "fallback"
==> Running command: /sbin/mkinitcpio -k 2.6.38-ARCH -c /etc/mkinitcpio.conf -g /boot/kernel26-fallback.img -S autodetect
:: Begin build
:: Parsing hook [base]
:: Parsing hook [udev]
:: Parsing hook [pata]
:: Parsing hook [scsi]
:: Parsing hook [sata]
:: Parsing hook [filesystems]
:: Generating module dependencies
:: Generating image '/boot/kernel26-fallback.img'...SUCCESS
==> SUCCESS

Re: [kernel] Partition non trouvée au boot

Publié : ven. 06 mai 2011, 17:56
par FoolEcho
Dans le menu.lst, essaie avec:

Code : Tout sélectionner

root=/dev/disk/by-uuid/72fc38cc-396c-4ca8-8672-11494f5a6ffa

Re: [kernel] Partition non trouvée au boot [résolu]

Publié : ven. 06 mai 2011, 18:54
par Pheimors
Et voilà, ça marche. Je te remercie beaucoup, la joie m'étreint !

Re: [kernel] Partition non trouvée au boot [résolu]

Publié : ven. 06 mai 2011, 19:00
par FoolEcho
:mrgreen: