Strona 1 z 2
System nie uruchamia się z dysku zewnętrznego USB
: 16 października 2010, 00:00
autor: przemnet
Witam.
Mam zainstalowany system na dysku zewnętrznym USB, jednak podczas jego uruchamiania pojawia się pewien problem.
Po wybraniu odpowiedniego wpisu w GRUB-ie system zaczyna się ładować, ale w trakcie ładowania dysk przestaje pracować, po czym momentalnie zaczyna prace
z powrotem (słychać to dość wyraźnie). Powoduje to, że w około 1/3 przypadków system nie uruchamia się, pojawia się na ekranie mniej więcej taki wpis:
Kod: Zaznacz cały
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0.0)
Wygląda mi na to jakby w trakcie startu systemu, na moment wyłączany był port USB, dysk jest zasilany TYLKO przez USB! Może da się to jakoś zmienić lub może miał ktoś podobny problem?
Pozdrawiam,
Przemek.
P.S. Widziałem ten wątek
http://debian.linux.pl/threads/5802-Ker ... nt-root-fs...
: 16 października 2010, 15:05
autor: DaVidoSS
Podaj informacje o wersji jądra i zawartość plików
Podejrzewam ze hal montuje Ci dysk USB za każdym razem z innym id.
Przydałoby się zmienić wpisy identyfikacji partycji na UUID, i zmienić w grubie
wpis na właściwy UUID (
ang. Universally Unique Identifier), który niezależnie od konfiguracji pozostaje zawsze taki sam.
: 16 października 2010, 18:55
autor: przemnet
Witam,
oto i informacje:
Kod: Zaznacz cały
cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sdc2 during installation
UUID=41891736-f260-4d49-a231-a4dd2af10e77 / ext4 errors=remount-ro 0 1
# /mnt/adata was on /dev/sdc5 during installation
UUID=44980690035B639C /mnt/adata ntfs defaults,umask=007,gid=46 0 0
# swap was on /dev/sda7 during installation
UUID=d8b29679-0181-42c4-b5b8-bbf97f6710b2 none swap sw 0 0
Kod: Zaznacz cały
cat /etc/mtab
/dev/sdb2 / ext4 rw,errors=remount-ro 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
none /sys sysfs rw,noexec,nosuid,nodev 0 0
none /sys/fs/fuse/connections fusectl rw 0 0
none /sys/kernel/debug debugfs rw 0 0
none /sys/kernel/security securityfs rw 0 0
none /dev devtmpfs rw,mode=0755 0 0
none /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
none /dev/shm tmpfs rw,nosuid,nodev 0 0
none /var/run tmpfs rw,nosuid,mode=0755 0 0
none /var/lock tmpfs rw,noexec,nosuid,nodev 0 0
none /lib/init/rw tmpfs rw,nosuid,mode=0755 0 0
/dev/sdb5 /mnt/adata fuseblk rw,nosuid,nodev,allow_other,blksize=4096,default_permissions 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,noexec,nosuid,nodev 0 0
gvfs-fuse-daemon /home/przemek/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=przemek 0 0
Mógłbyś podać parę szczegółów jak zmienić wpisy identyfikacji partycji na UUID, i zmienić odpowiednie rzeczy w GRUB'ie?
Pozdrawiam,
Przemek.
: 17 października 2010, 11:57
autor: DaVidoSS
No to pokaż
w zależności jaką wersję gruba masz.
Żeby wyświetlić UUID dla wszystkich dysków możesz się posiłkować prostym skryptem bash.
nastepnie w oknie nano wklej to:
Kod: Zaznacz cały
#!/bin/bash
touch ~/.diskbyuuid.log
sudo blkid /dev/sda* > ~/.diskbyuuid.log
sudo blkid /dev/sdb* >> ~/.diskbyuuid.log
sudo blkid /dev/sdc* >> ~/.diskbyuuid.log
sudo blkid /dev/sde* >> ~/.diskbyuuid.log
cat ~/.diskbyuuid.log
Teraz nacisnij kolejno ctrl+o i ctrl +x
Gotowe.
Uruchom skrypt który właśnie stworzyłeś, poleceniem :
I oto i wszystkie UUID dla dysków o ile miałeś je wszystkie podłączone.
: 18 października 2010, 22:47
autor: przemnet
Dziękuję bardzo za szczegółowe instrukcje.
Na dysku zewnętrznym mam dwie partycje - ntfs oraz ext4 z Linuksem. Ich UUID-y wyglądają następująco:
Kod: Zaznacz cały
blkid /dev/sdb2
/dev/sdb2: UUID="41891736-f260-4d49-a231-a4dd2af10e77" TYPE="ext4"
blkid /dev/sdb5
/dev/sdb5: LABEL="ADATA" UUID="44980690035B639C" TYPE="ntfs"
Natomiast plik /boot/grub/grub.cfg wygląda tak (nie mam pliku /boot/grub/menu.list):
Kod: Zaznacz cały
cat /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
set saved_entry=${prev_saved_entry}
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z ${boot_once} ]; then
saved_entry=${chosen}
save_env saved_entry
fi
}
function recordfail {
set recordfail=1
if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd1,2)'
search --no-floppy --fs-uuid --set 41891736-f260-4d49-a231-a4dd2af10e77
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
insmod ext2
set root='(hd1,2)'
search --no-floppy --fs-uuid --set 41891736-f260-4d49-a231-a4dd2af10e77
set locale_dir=($root)/boot/grub/locale
set lang=pl
insmod gettext
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=2
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, za pomocą systemu Linux 2.6.32-25-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,2)'
search --no-floppy --fs-uuid --set 41891736-f260-4d49-a231-a4dd2af10e77
linux /boot/vmlinuz-2.6.32-25-generic root=UUID=41891736-f260-4d49-a231-a4dd2af10e77 ro quiet splash
initrd /boot/initrd.img-2.6.32-25-generic
}
menuentry 'Ubuntu, za pomocą systemu Linux 2.6.32-25-generic (tryb ratunkowy)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,2)'
search --no-floppy --fs-uuid --set 41891736-f260-4d49-a231-a4dd2af10e77
echo 'Wczytywanie systemu Linux 2.6.32-25-generic...'
linux /boot/vmlinuz-2.6.32-25-generic root=UUID=41891736-f260-4d49-a231-a4dd2af10e77 ro single
echo 'Wczytywanie początkowego dysku RAM...'
initrd /boot/initrd.img-2.6.32-25-generic
}
menuentry 'Ubuntu, za pomocą systemu Linux 2.6.32-24-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,2)'
search --no-floppy --fs-uuid --set 41891736-f260-4d49-a231-a4dd2af10e77
linux /boot/vmlinuz-2.6.32-24-generic root=UUID=41891736-f260-4d49-a231-a4dd2af10e77 ro quiet splash
initrd /boot/initrd.img-2.6.32-24-generic
}
menuentry 'Ubuntu, za pomocą systemu Linux 2.6.32-24-generic (tryb ratunkowy)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd1,2)'
search --no-floppy --fs-uuid --set 41891736-f260-4d49-a231-a4dd2af10e77
echo 'Wczytywanie systemu Linux 2.6.32-24-generic...'
linux /boot/vmlinuz-2.6.32-24-generic root=UUID=41891736-f260-4d49-a231-a4dd2af10e77 ro single
echo 'Wczytywanie początkowego dysku RAM...'
initrd /boot/initrd.img-2.6.32-24-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set d25c20205c200239
drivemap -s (hd0) ${root}
chainloader +1
}
menuentry "Ubuntu, za pomocą systemu Linux 2.6.32-25-generic (on /dev/sda5)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 45611774-a553-4967-988c-e7521c57d26c
linux /boot/vmlinuz-2.6.32-25-generic root=UUID=45611774-a553-4967-988c-e7521c57d26c ro quiet splash
initrd /boot/initrd.img-2.6.32-25-generic
}
menuentry "Ubuntu, za pomocą systemu Linux 2.6.32-25-generic (tryb ratunkowy) (on /dev/sda5)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 45611774-a553-4967-988c-e7521c57d26c
linux /boot/vmlinuz-2.6.32-25-generic root=UUID=45611774-a553-4967-988c-e7521c57d26c ro single
initrd /boot/initrd.img-2.6.32-25-generic
}
menuentry "Ubuntu, za pomocą systemu Linux 2.6.32-24-generic (on /dev/sda5)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 45611774-a553-4967-988c-e7521c57d26c
linux /boot/vmlinuz-2.6.32-24-generic root=UUID=45611774-a553-4967-988c-e7521c57d26c ro quiet splash
initrd /boot/initrd.img-2.6.32-24-generic
}
menuentry "Ubuntu, za pomocą systemu Linux 2.6.32-24-generic (tryb ratunkowy) (on /dev/sda5)" {
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 45611774-a553-4967-988c-e7521c57d26c
linux /boot/vmlinuz-2.6.32-24-generic root=UUID=45611774-a553-4967-988c-e7521c57d26c ro single
initrd /boot/initrd.img-2.6.32-24-generic
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# 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.
### END /etc/grub.d/40_custom ###
Więc, teraz mam pytanie, jakie wpisy należy dodać do powyższego pliku, aby wszystko grało?
Pozdrawiam.
: 19 października 2010, 12:44
autor: DaVidoSS
Wydaje się, że wszystko jest w porządku.
: 23 października 2010, 19:19
autor: przemnet
Kurcze, ma ktoś może jakiś inny pomysł?
Pozdrawiam.
: 23 października 2010, 23:30
autor: fnmirk
: 24 października 2010, 00:35
autor: przemnet
Proszę bardzo:
Kod: Zaznacz cały
fdisk -l
Dysk /dev/sda: 250.1 GB, bajtów: 250059350016
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 30401
Jednostka = cylindrów, czyli 16065 * 512 = 8225280 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Identyfikator dysku: 0xf0a2c9a5
Urządzenie Rozruch Początek Koniec Bloków ID System
/dev/sda1 * 1 7833 62918541 7 HPFS/NTFS
/dev/sda2 7834 26508 150000641 5 Rozszerzona
/dev/sda5 7834 26508 150000640 83 Linux
Dysk /dev/sdb: 640.1 GB, bajtów: 640135028736
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 77825
Jednostka = cylindrów, czyli 16065 * 512 = 8225280 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Identyfikator dysku: 0x06aa61de
Urządzenie Rozruch Początek Koniec Bloków ID System
/dev/sdb1 1 74410 597698293+ 5 Rozszerzona
/dev/sdb2 * 74411 76369 15735667+ 83 Linux
/dev/sdb5 1 74410 597698262 7 HPFS/NTFS
Dysk zewnętrzny to /dev/sdb .
Kod: Zaznacz cały
dpkg -l | grep blkid
ii libblkid1 2.17.2-0ubuntu1 block device id library
Będę wdzięczny za jakieś wskazówki...
Pozdrawiam,
Przemek.
: 24 października 2010, 10:26
autor: fnmirk
Jeszcze dostarcz wyniki:
Kod: Zaznacz cały
cat /etc/fstab
dpkg -l | grep grub
blkid
ls -l /boot/grub