GRUB - rozruch dwóch systemów na dwóch dyskach


(fialas1819) #1

witam!

postanowiłem sobie podzielić drugi dysk (sdb) na dwie główne partycje: "bibliotekę" = dokumenty, muzyka, wideo i linuksową (do opensusa 11.2). wszystko ładnie się zainstalowało ale moim pierwotnym założeniem było, że podstawowym systemem zostanie windows 7 (na sda). chciałem aby ten drugi dysk (sdb) był w miarę przenośnym dyskiem (podłączę tu, podłączę tam) więc w razie podłączenia go do komputera chciałbym aby była możliwość wybrania systemu: domyślnego i drugiego z tego dołączonego dysku. mam w tym momencie problem ponieważ przy podłączonych obu dyskach normalnie wyskakuje grub z wyborem systemu (obydwa da się uruchomić: i windows, i sus) ale gdy odłączę dysk drugi (sdb) to grub wyrzuca błąd 21 i zatrzymuje się.

co mam zrobić aby po odłączeniu tego drugiego dysku (sdb) windows uruchamiał się bez problemów a jednocześnie po podłączeniu tego drugiego dysku (sdb) była możliwość wybrania i uruchomienia tego susa ?? susa instalowałem przy podłączonych obu dyskach.

dorzucam screeny, moze coś pomogą

image_id: 2327

image_id: 2326

image_id: 2328


(B Brachaczek) #2

Błąd wyskakuje Ci dlatego, że GRUB jest zainstalowany na MBR dysku /dev/sda, a pliki GRUB-a znajdują się na /dev/sdb3, czyli oba dyski muszą być podłączone, aby Ci zaskoczyło.

Masz zatem dwie możliwości (a w każdym razie tylko te dwie mi się wydają sensowne):

1) Zrobić na /dev/sda jakąś partycję linuksową (wystarczy ext2), przenieś tam całą zawartość /boot, zamontować jako /boot (i najlepiej wrzucić to do /etc/fstab) i przeinstalować GRUB-a na MBR. Odtąd /dev/sda będzie samodzielnym dyskiem z GRUB-em, zdolnym do wystartowania Linuksa znajdującego się na /dev/sdb (ale sam /dev/sdb nie będzie w stanie się wystartować; zresztą prawdopodobnie teraz też nie jest, chyba że ma GRUB-a w MBR).

2) Całkiem wywalić z /dev/sda GRUB-a (tzn. przywrócić bootloader Windowsa), a na /dev/sdb w MBR zainstalować GRUB-a. Wtedy oba dyski będą samodzielne. Problem będzie tylko taki, że system zawsze będzie startował z /dev/sda, tzn. nie będziesz w stanie uruchomić Linuksa, chyba że zmienisz kolejność bootowania BIOS-u. Rozwiązaniem takiej sytuacji byłoby takie podłączenie dysków, żeby dysk 1 TB był drugim dyskiem (tzn. /dev/sdb), a dysk 250 GB pierwszym (/dev/sda) - oczywiście po takim czymś należałoby przeinstalować GRUB-a na dysku 250 GB, żeby się potrafił odnaleźć w nowej sytuacji. Wtedy system będzie się bootował z GRUB-a, czyli będzie wybór, a jeżeli odłączysz dysk 250 GB, to BIOS zbootuje kompa z dysku 1 TB, na którym jest zainstalowany w MBR bootloader Windowsa.

PS Masz zły i w ogóle niejasny temat. Obecnie GRUB-a nie masz zainstalowanego na żadnej partycji (bardzo rzadko się tak robi), ale na MBR.

PPS Na przyszłość staraj się nie załączać screenshotów, jeśli można te same informacje przekazać w formie tekstowej. W Twoim przypadku wszystkie trzy można było zastąpić tekstem.


(fialas1819) #3

też mógłbym tak zrobić ale wtedy nie miałbym czystego dysku (mix ntfs i ext..)

zrobiłem tym sposobem i działa. nie wiedziałem, że w biosie mam możliwość przestawiania kolejności bootowania dysków. DZIĘKI WIELKIE ZA POMOC! !!


(roobal) #4

Grub uruchomi tylko i wyłącznie systemy, które wykrył i dodał do swojej listy. Jeśli Windows jest na innym dysku i na innej partycji niż jest to podane na liście wyboru to się nie uruchomi, Linux uruchomi się bez problemu, bo jest w końcu na dysku i nie nie uległo zmianom. Żeby osiągnąć to o co pytasz, musiałbyś na innym komputerze zaktualizować Gruba poleceniem:

update-grub

Dla Grub Legacy lub

update-grub2

Dla Grub 2 :slight_smile:

Pozdrawiam!


(fialas1819) #5

ale to mam w terminalu zrobić czy w czymś innym??


(roobal) #6

Oczywiście, że w terminalu a w czym innym? Możesz jeszcze w konsoli :slight_smile:

Pozdrawiam!


(fialas1819) #7

no to będę miał zabawę :smiley:

jeszcze raz, wielkie dzięki!!