Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Zdaję sobie sprawę z tego jak wiele napisano na temat gruba i problemów z nim, ale męczę się od godziny 23 i postanowiłem poprosić o pomoc.
Otóż: zainstalowałem Debiana, nadpisałem gruba, nie działa mi druga dystrybucja z innej partycji.
Wynik fdisk -l:
maszyna:/home/cajmer# fdisk -l Disk /dev/sda: 120.0 GB, 120034123776 bytes 255 heads, 63 sectors/track, 14593 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x410b410b Device Boot Start End Blocks Id System /dev/sda1 1 1305 10482381 83 Linux /dev/sda2 1306 4553 26089560 83 Linux /dev/sda3 4554 14528 80124187+ 5 Extended /dev/sda4 14529 14593 522112+ 82 Linux swap / Solaris /dev/sda5 4554 9556 40186566 83 Linux /dev/sda6 9557 14528 39937558+ 83 Linux
Na sda1 jest debian, na sda2 jest sidux. Mój plik /boot/grub/menu.lst przedstawia się następująco:
# menu.lst - See: grub(8), info grub, update-grub(8) # grub-install(8), grub-floppy(8), # grub-md5-crypt, /usr/share/doc/grub # and /usr/share/doc/grub-doc/. ## default num # Set the default entry to the entry number NUM. Numbering starts from 0, and # the entry number 0 is the default if the command is not used. # # You can specify 'saved' instead of a number. In this case, the default entry # is the entry saved with the command 'savedefault'. # WARNING: If you are using dmraid do not change this entry to 'saved' or your # array will desync and will not let you boot your system. default 0 ## timeout sec # Set a timeout, in SEC seconds, before automatically booting the default entry # (normally the first entry defined). timeout 5 # Pretty colours color cyan/blue white/blue ## password ['--md5'] passwd # If used in the first section of a menu file, disable all interactive editing # control (menu entry editor and command-line) and entries protected by the # command 'lock' # e.g. password topsecret # password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/ # password topsecret # # examples # # title Windows 95/98/NT/2000 # root (hd0,0) # makeactive # chainloader +1 # # title Linux # root (hd0,1) # kernel /vmlinuz root=/dev/hda2 ro # # # Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST ### BEGIN AUTOMAGIC KERNELS LIST ## lines between the AUTOMAGIC KERNELS LIST markers will be modified ## by the debian update-grub script except for the default options below ## DO NOT UNCOMMENT THEM, Just edit them to your needs ## ## Start Default Options ## ## default kernel options ## default kernel options for automagic boot options ## If you want special options for specific kernels use kopt_x_y_z ## where x.y.z is kernel version. Minor versions can be omitted. ## e.g. kopt=root=/dev/hda1 ro ## kopt_2_6_8=root=/dev/hdc1 ro ## kopt_2_6_8_2_686=root=/dev/hdc2 ro # kopt=root=/dev/sda1 ro ## default grub root device ## e.g. groot=(hd0,0) # groot=(hd0,0) ## should update-grub create alternative automagic boot options ## e.g. alternative=true ## alternative=false # alternative=true ## should update-grub lock alternative automagic boot options ## e.g. lockalternative=true ## lockalternative=false # lockalternative=false ## additional options to use with the default boot option, but not with the ## alternatives ## e.g. defoptions=vga=791 resume=/dev/hda5 # defoptions= ## should update-grub lock old automagic boot options ## e.g. lockold=false ## lockold=true # lockold=false ## Xen hypervisor options to use with the default Xen boot option # xenhopt= ## Xen Linux kernel options to use with the default Xen boot option # xenkopt=console=tty0 ## altoption boot targets option ## multiple altoptions lines are allowed ## e.g. altoptions=(extra menu suffix) extra boot options ## altoptions=(single-user) single # altoptions=(single-user mode) single ## controls how many kernels should be put into the menu.lst ## only counts the first occurence of a kernel, not the ## alternative kernel options ## e.g. howmany=all ## howmany=7 # howmany=all ## should update-grub create memtest86 boot option ## e.g. memtest86=true ## memtest86=false # memtest86=true ## should update-grub adjust the value of the default booted system ## can be true or false # updatedefaultentry=false ## ## End Default Options ## title Debian GNU/Linux, kernel 2.6.18-6-686 root (hd0,0) kernel /boot/vmlinuz-2.6.18-6-686 root=/dev/sda1 ro initrd /boot/initrd.img-2.6.18-6-686 savedefault title Debian GNU/Linux, kernel 2.6.18-6-686 (single-user mode) root (hd0,0) kernel /boot/vmlinuz-2.6.18-6-686 root=/dev/sda1 ro single initrd /boot/initrd.img-2.6.18-6-686 savedefault ### END DEBIAN AUTOMAGIC KERNELS LIST # This is a divider, added to separate the menu items below from the Debian # ones. title Other operating systems: root # This entry automatically added by the Debian installer for an existing # linux installation on /dev/sda2. title Debian GNU/Linux, kernel 2.6.28-2.slh.1-sidux-686 (on /dev/sda2) root (hd0,1) kernel /boot/vmlinuz-2.6.28-2.slh.1-sidux-686 root=UUID=ce16c0a1-3642-4c0b-8e12-29cd8556137d ro quiet vga=791 initrd /boot/initrd.img-2.6.28-2.slh.1-sidux-686 savedefault boot # This entry automatically added by the Debian installer for an existing # linux installation on /dev/sda2. title Debian GNU/Linux, kernel 2.6.28-0.slh.6-sidux-686 (on /dev/sda2) root (hd0,1) kernel /boot/vmlinuz-2.6.28-0.slh.6-sidux-686 root=UUID=ce16c0a1-3642-4c0b-8e12-29cd8556137d ro quiet vga=791 initrd /boot/initrd.img-2.6.28-0.slh.6-sidux-686 savedefault boot # This entry automatically added by the Debian installer for an existing # linux installation on /dev/sda2. title Debian GNU/Linux, kernel memtest86+ (on /dev/sda2) root (hd0,1) kernel /boot/memtest86+.bin savedefault boot
Przy próbie bootowania siduksa pojawia się błąd:
Error 2: Bad file or directory type
.
Ręcznie mogę zamontować tę partycję pod Debianem, ale system z niej nie rusza... Co tu zrobić, szanowni Państwo, aby odpalał i jeden i drugi?
edit: Jak zmieniam nazwę pliku /boot/grub/menu.lst i puszczam update-grub, to plik menu.lst zawiera wyłącznie debiana, nie ma tam siduksa.
edit2: reinstalacja gruba z poziomu debiana nic nie zmieniła.
Ostatnio edytowany przez cajmer (2009-02-08 23:32:48)
Offline
Przypuszczam, że jest problem z odczytaniem plików:
vmlinuz-2.6.28-0.slh.6-sidux-686
initrd.img-2.6.28-0.slh.6-sidux-686
przez gruba
Spróbuj odpalić system z powłoki gruba:
naciskasz C jak masz menu, komentarze są pisane zwykłą czcionką, potem piszesz:
root (hd0,1)
initrd /boot/ini <== tu uzupełniasz nazwę pliku poprzez naciśnięcie TAB>
kernel /boot/lin <== to samo TAB>
<nie zapomnij na końcu lini z kernelem podać parametrów: root=/dev/sda2 ro >
boot
<całość może wyglądać tak>
root (hd0,1)
initrd /boot/initrd.img-2.6.28-0.slh.6-sidux-686
kernel /boot/vmlinuz-2.6.28-0.slh.6-sidux-686 ro root=/dev/sda2
boot
Jeśli odpali z powłoki (pamiętaj o uzupełnianiu TAB, no i wskaż właściwe pliki), to masz złe wpisy w menu.lst, jeśli nie to masz uszkodzony któryś z plików jądra lub initrd. Wtedy fsck na partycję siduxa, jeśli ok chroot i reinstalacja jądra.
Offline
1 .Debian obecnie startuje.
2. Podałeś wynik programu fdisk z poziomu Debiana
3. Z poziomu Debiana możesz montować partycje Siduksa.
Sidux do oznacza i rozróżniania partycji/dysków korzysta z identyfikacji UUID.
Po zmianie rozkładu partycji na dysku zmieniły się też ich numery UUID.
Można wygenerować nowe ale prościej jest jeszcze obecnie zmienić ścieżki dostępu do partycji w pliku /etc/fstab Siduksa na podstawie wskazań polecenia fdisk -l
Wklej oryginalny plik /etc/fstab Siduksa.
Offline
fstab siduksa
# /etc/fstab - static information about the filesystems - fstab(5) # # /etc/fstab is only read by programs, and not written; it is the duty of the # system administrator to properly maintain this file. # # Instead of giving the device explicitly, one may indicate the filesystem # that is to be mounted by its UUID or VOLUME label. This will make the # system more robust: adding or removing a disk changes the disk device name # but not the filesystem UUID or VOLUME label. # # <filesystem> <mount point> <fstype> <mount options> <dump> <pass> UUID=a660afd9-7fa9-4052-9e61-51b45edc6b2c /media/disk1part1 ext3 auto,users,rw,exec,noatime 0 0 UUID=ce16c0a1-3642-4c0b-8e12-29cd8556137d / ext3 defaults,errors=remount-ro,noatime 0 0 UUID=297df710-4ae4-42cb-9b84-b78b6d1a0b86 none swap sw 0 0 UUID=1664387d-af49-4a4c-af3f-f59871c80c62 /media/disk1part6 ext3 auto,users,rw,exec,noatime 0 0 /dev/cdrom /media/cdrom udf,iso9660 noauto,ro,users 0 0
Wynik ls -l /dev/disk/by-uuid/:
lrwxrwxrwx 1 root root 10 2009-02-08 07:59 1664387d-af49-4a4c-af3f-f59871c80c62 -> ../../sda6 lrwxrwxrwx 1 root root 10 2009-02-08 07:59 8c41b495-b009-4de9-b594-1751d1048f02 -> ../../sda5 lrwxrwxrwx 1 root root 10 2009-02-08 07:59 92e6c690-948e-465f-a8de-29e51eaf0ed9 -> ../../sda1 lrwxrwxrwx 1 root root 10 2009-02-08 07:59 cda50ed0-c580-4fb5-8320-2d6a7e5ad618 -> ../../sda4 lrwxrwxrwx 1 root root 10 2009-02-08 07:59 ce16c0a1-3642-4c0b-8e12-29cd8556137d -> ../../sda2
Nawet po zmianie jednego niezgadzającego się uuid, pokazuje Bad file or directory type.
Mam zrobić chroot i dpkg-reconfigure linux-image-2.6.28-0?
Offline
cajmer napisał(-a):
UUID=ce16c0a1-3642-4c0b-8e12-29cd8556137d / ext3 defaults,errors=remount-ro,noatime 0 0
UUID=297df710-4ae4-42cb-9b84-b78b6d1a0b86 none swap
Zamiast tego to napisz tak:
/dev/sda4 none swap /dev/sda2 / ext3 defaults,errors=remount-ro,noatime 0 0
oraz w /boot/grub/menu.lst:
title Debian GNU/Linux, kernel 2.6.28-2.slh.1-sidux-686 (on /dev/sda2) root (hd0,1) kernel /boot/vmlinuz-2.6.28-2.slh.1-sidux-686 root=/dev/sda2 ro quiet vga=791 initrd /boot/initrd.img-2.6.28-2.slh.1-sidux-686 savedefault boot
I pozostałe wpisy odnośnie dalszej części podobnie.
Offline
Tak zrobiłem. Ale komunikat ciągle ten sam:
Error 2: Bad file of directory type
Offline
Pobierz supergrubdisk I sprawdź czy uruchomisz z jego pomocą Siduksa. Jeżeli tak --- to gruba należy zainstalować z jego poziomu. Przed instalacją gruba nadpisz lub wyczyść mbr.
Offline
fnmirk napisał(-a):
cajmer napisał(-a):
UUID=ce16c0a1-3642-4c0b-8e12-29cd8556137d / ext3 defaults,errors=remount-ro,noatime 0 0
UUID=297df710-4ae4-42cb-9b84-b78b6d1a0b86 none swapZamiast tego to napisz tak:
Kod:
/dev/sda4 none swap /dev/sda2 / ext3 defaults,errors=remount-ro,noatime 0 0oraz w /boot/grub/menu.lst:
Kod:
title Debian GNU/Linux, kernel 2.6.28-2.slh.1-sidux-686 (on /dev/sda2) root (hd0,1) kernel /boot/vmlinuz-2.6.28-2.slh.1-sidux-686 root=/dev/sda2 ro quiet vga=791 initrd /boot/initrd.img-2.6.28-2.slh.1-sidux-686 savedefault bootI pozostałe wpisy odnośnie dalszej części podobnie.
Akurat wartości parametrów kernela nie mają tu znaczenia, a do odczytania /etc/fstab to droga od etapu grubowego jeszcze dosyć długa, nieprawdaż? Stosowanie LABEL i UUID jest akurat rozsądne. Poza tym UUID jest właściwością systemu plików, nie partycji, więc zmienia się po ręcznej zmianie lub zrobieniu nowego systemu plików i właśnie po to są obsługiwane (LABEL i UUID) przez mount aby nie było potrzeby babrać się w fstab przy zmianie rozkładu partycji. Grub jest poprawnie zainstalowany.
Powtórzę po andreq - problem leży w odczycie plików jądra, nie ich lokalizacji czy wartości parametrów.
Offline
Czyli jak mam to naprawić ? :)
Offline
czadman, ja zaproponowałem tylko taką zmianę root=/dev/sda2.
Offline
cajmer napisał(-a):
Czyli jak mam to naprawić ? :)
Offline
Próbowałem ale nie za bardzo wiem jak to zrobić. Po chmod /etc/sda2
root@cajmer-laptop:/# dpkg-reconfigure linux-headers-2.6 linux-headers-2.6-sidux-686 linux-headers-2.6.28-0.slh.6-common linux-headers-2.6.28-0.slh.6-sidux-686 linux-headers-2.6.28-2.slh.1-common linux-headers-2.6.28-2.slh.1-sidux-686 root@cajmer-laptop:/# dpkg-reconfigure linux-headers-2.6.28-0.slh.6-common perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory root@cajmer-laptop:/# dpkg-reconfigure linux-headers-2.6.28-0.slh.6- linux-headers-2.6.28-0.slh.6-common linux-headers-2.6.28-0.slh.6-sidux-686 root@cajmer-laptop:/# dpkg-reconfigure linux-headers-2.6.28-0.slh.6- linux-headers-2.6.28-0.slh.6-common linux-headers-2.6.28-0.slh.6-sidux-686 root@cajmer-laptop:/# dpkg-reconfigure linux-headers-2.6.28-0.slh.6-common perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory root@cajmer-laptop:/# root@cajmer-laptop:/# apt-get install linux-image-2.6.28- linux-image-2.6.28-0.slh.6-sidux-686 linux-image-2.6.28-2.slh.1-sidux-686 root@cajmer-laptop:/# apt-get install linux-image-2.6.28-2.slh.1-sidux-686 Reading package lists... Done Building dependency tree Reading state information... Done linux-image-2.6.28-2.slh.1-sidux-686 is already the newest version. linux-image-2.6.28-2.slh.1-sidux-686 set to manually installed. 0 upgraded, 0 newly installed, 0 to remove and 53 not upgraded.
Jak poprawnie zrobić tę reinstalkę?
edit: z ciekawości zainstalowałem siduksa na jeszcze innej partycji, nadpisał on gruba i wszystko śmiga. Aktualny wpis z /boot/grub/menu.lst, który poprawnie uruchamia starego siduksa wygląda tak:
title Debian GNU/Linux, kernel 2.6.28-2.slh.1-sidux-686 root (hd0,1) kernel /boot/vmlinuz-2.6.28-2.slh.1-sidux-686 root=UUID=ce16c0a1-3642-4c0b-8e12-29cd8556137d ro quiet vga=791 initrd /boot/initrd.img-2.6.28-2.slh.1-sidux-686
Nic nie rozumiem ;)
pozdrawiam i dziękuję za pomoc
Ostatnio edytowany przez cajmer (2009-02-08 23:37:31)
Offline
cajmer napisał(-a):
edit: z ciekawości zainstalowałem siduksa na jeszcze innej partycji, nadpisał on gruba i wszystko śmiga. Aktualny wpis z /boot/grub/menu.lst, który poprawnie uruchamia starego siduksa wygląda tak:
Kod:
title Debian GNU/Linux, kernel 2.6.28-2.slh.1-sidux-686 root (hd0,1) kernel /boot/vmlinuz-2.6.28-2.slh.1-sidux-686 root=UUID=ce16c0a1-3642-4c0b-8e12-29cd8556137d ro quiet vga=791 initrd /boot/initrd.img-2.6.28-2.slh.1-sidux-686
Wpis wygląda tak samo jak ten co miałaś na początku w pierwszym poście.
Offline
Przerabiałem identyczny problem. W moim przypadku jednym skutecznym sposobem okazało się zainstalowanie i używanie gruba z poziomu Siduxa. Być może problem wynikał z faktu, że Debian był 32-bitowy (a zatem grub również), a Sidux 64-bitowy.
Teraz mam podobny problem z Mandrivą 2009, którą sobie zainstalowałem na tej samej partycji co poprzednio grub. Nie chcę jednak korzystać z gruba Mandrivy. Nadal jednak nie wiem jak zmusić debianowego gruba, do tego by zobaczył innego niż on Linuksa ;-) Tym razem obydwa systemy są w architekturze 32-bitowej. Wygląda zatem na to, że problemem jest jednak grub z Debiana?
Offline
Akkon tak pytam z ciekawości ,
a tą Mandrive instalowałeś na ext4 czy ext3
Offline
ext3
Offline
google mówi że to jednak znany błąd
http://www.mandrivalinux.eu/showthread.php?t=354101
Ostatnio edytowany przez arturek (2009-05-08 11:53:05)
Offline
Akkon, gruba Mandrivy zainstaluj na partycji z Mandrivą i dodaj później normalnie wpisy do menu gruba debianowego.
Offline
fnmirk napisał(-a):
gruba Mandrivy zainstaluj na partycji z Mandrivą i dodaj później normalnie wpisy do menu gruba debianowego.
Właśnie o to chodzi, że ten sposób nie działa.
Offline
Strony: 1