System nie uruchamia si

Pomoc dotycząca instalacji systemu
przemnet
Posty: 57
Rejestracja: 28 marca 2008, 22:51
Lokalizacja: Warszawa

System nie uruchamia się z dysku zewnętrznego USB

Post 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...
Awatar użytkownika
DaVidoSS
Junior Member
Posty: 875
Rejestracja: 06 marca 2010, 11:26
Lokalizacja: ~/

Post autor: DaVidoSS »

Podaj informacje o wersji jądra i zawartość plików

Kod: Zaznacz cały

/etc/fstab
/etc/mtab
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

Kod: Zaznacz cały

/boot/grub/menu.list 
/boot/grub/grub.conf 
wpis na właściwy UUID (ang. Universally Unique Identifier), który niezależnie od konfiguracji pozostaje zawsze taki sam.
przemnet
Posty: 57
Rejestracja: 28 marca 2008, 22:51
Lokalizacja: Warszawa

Post autor: przemnet »

Witam,

oto i informacje:

Kod: Zaznacz cały

uname -r
2.6.32-25-generic

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.
Awatar użytkownika
DaVidoSS
Junior Member
Posty: 875
Rejestracja: 06 marca 2010, 11:26
Lokalizacja: ~/

Post autor: DaVidoSS »

No to pokaż

Kod: Zaznacz cały

/boot/grub/menu.list 
/boot/grub/grub.conf
w zależności jaką wersję gruba masz.

Żeby wyświetlić UUID dla wszystkich dysków możesz się posiłkować prostym skryptem bash.

Kod: Zaznacz cały

nano ~/diskbyuuid.sh
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 :

Kod: Zaznacz cały

sh diskbyuuid.sh
I oto i wszystkie UUID dla dysków o ile miałeś je wszystkie podłączone.
przemnet
Posty: 57
Rejestracja: 28 marca 2008, 22:51
Lokalizacja: Warszawa

Post 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.
Awatar użytkownika
DaVidoSS
Junior Member
Posty: 875
Rejestracja: 06 marca 2010, 11:26
Lokalizacja: ~/

Post autor: DaVidoSS »

Wydaje się, że wszystko jest w porządku.
przemnet
Posty: 57
Rejestracja: 28 marca 2008, 22:51
Lokalizacja: Warszawa

Post autor: przemnet »

Kurcze, ma ktoś może jakiś inny pomysł?

Pozdrawiam.
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

Przedstaw wynik poleceń:

Kod: Zaznacz cały

fdisk -l
dpkg -l | grep blkid
przemnet
Posty: 57
Rejestracja: 28 marca 2008, 22:51
Lokalizacja: Warszawa

Post 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.
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

Jeszcze dostarcz wyniki:

Kod: Zaznacz cały

cat /etc/fstab
dpkg -l | grep grub
blkid
ls -l /boot/grub
ODPOWIEDZ