Ręczna instalacja GRUB'a po instalacji Ubuntu 10


(Manonim93) #1

Mam dwa dyski:

1.) 320GB SATA - z zainstalowanym Windowsem XP

2.) 80GB IDE - jak dotąd stał pusty

Postanowiłem zainstalować sobie na drugim dysku Ubuntu 10. Podzieliłem dysk na partycje:

10 GB /

70 GB /home

2 GB /swap

Wszystko picuś glancuś, poza jednym. Po zakończeniu instalacji wywala mi błąd:

Na dysku tam chyba sda1 nie można zainstalować GRUBA wybierz inną partycję.

Niestety wybieram inne (i te z Windowsem i te z linuxem) i dalej nie może się ten GRUB zainstalować.

Na koniec wybrałem opcję "Bez programu rozruchowego" no i mój Ubuntu nie uruchamia się. Nie wiem co zrobiłem źle.

Proszę o pomoc. Nie wiem czy to wina braku partycji /boot (ale chyba raczej nie), czy czegoś innego. Może wiecie jak ręcznie zainstalować GRUB'a?


(marcin82) #2

Jak to wina braku partycji /boot? Możesz coś więcej napisać? W każdym bądź razie instaluj na tym 80 GB IDE. Normalna instalacja. Osobna partycja /boot nie jest potrzebna. Gruba zainstaluj na tym samym dysku IDE. Potem trzeba uaktualnić Gruba -> dodać do niego wpis Windows XP, ale o tem potem. Zobacz czy zaintstaluje się bez błędów, jeśli tak, to ustaw bootowanie w BIOS z dysku IDE. Jeśli będzie się uruchamiał normalnie, dodasz wpis od XP i będzie OK.


(roobal) #3

Uruchom Ubuntu z płyty i wykonaj po kolei:

sudo su

mount /dev/sdXY /mnt

mount -t proc none /mnt/proc

mount - o bind /dev /mnt/dev

chroot /mnt

grub-install /dev/sdX

update-grub

exit

umount /mnt/dev /mnt/proc /mnt

Jeśli chciałbyś dodać Gruba do windowsowego bootloadera:

dd if=/dev/sdX of=Grub.bin bs=512 count=1

mount -t ntfs -o rw /dev/sdAB /mnt

cp -v $HOME/Grub.bin /mnt/

umount /mnt

reboot

Do pliku boot.ini w Windows dodajesz taką linijkę:

C:\Grub.bin="Linux"

Za sdX podajesz dysk, na którym jest Linux, za sdXY podajesz partycję, na której instalowałeś Linuksa, za sdAB podajesz partycję, na której zainstalowany jest Windows.

Pozdrawiam!


(człowiek) #4
  1. Odłącz całkiem dysk SATA.

  2. Zainstaluj normalnie ubuntu na dysku PATA/IDE.

  3. Podepnij z powrotem dysk SATA z windowsem.

  4. Wejdź do BIOS-u i ustaw bootowanie z dysku PATA/IDE.

  5. Po uruchomieniu ubuntu odpal terminal i wpisz:

    sudo update-grub

Po tym zabiegu GRUB sam znajdzie XP i doda go do listy wyboru systemów podczas ponownego uruchomienia kompa.


(roobal) #5

Reinstalacja systemu tylko po to, żeby mieć Gruba na innym dysku?

Pozdrawiam!


(człowiek) #6

Oj, nie doczytałem :wink: ale jakby kolega nie poradził sobie z płyty to ten sposób zadziała na pewno. :slight_smile:


(Manonim93) #7

Dzięki za aktywność, kiedyś instalowałem Debiana i nadpisał mi on wówczas sektor rozruchowy Windowsa, jest to wygodne bo jak by się chciało Linuxa odinstalować to wystarczy fixmbr w konsoli odzyskiwania.

Rozumiem że poniższe komendy powinny taki efekt przynieść?


(marcin82) #8

Nie. Takie działanie jakie cytujesz i dalej to co pisał roobal da możliwość uruchamiania uruchamiania linuksa z bootmanagera Windowsa. Żeby Linux nie nadpisał Ci sektora rozruchowego Windowsa, Gruba musisz umieścić da dysku ATA (jego wskazać przy instalacji Gruba - jeśli jest podpięty jako slave - będzie to wtedy /dev/sdb1).


(roobal) #9

Jak zainstalujesz Gruba na dysku z Linuksem, to z poziomu Gruba będziesz miał dostęp do Windowsa ale wtedy musisz w BIOSie ustawić bootowanie z dysku, gdzie jest Linux, czyli dysku ATA. To co podałem, to jest opcjonalne, jeśli chciałbyś uruchamiać zarówno Windowsa, jak i Linuksa z bootloadera windowsowego, więc tego nie musisz robić, tylko jeśli chcesz - to jest opcjonalne.

Powyższe działa na takiej zasadzie, że tworzysz obraz bootloadera (Gruba), obraz ten umieszczasz na partycji C:\, przy pomocy pliku boot.ini dodajesz ten obraz do listy wyboru systemów. Gdy uruchomisz z poziomu windowsowego bootloadera pozycję Linux, to uruchomi się Grub i z niego uruchomisz Linuksa :wink: W tym obrazie zapisana jest kopia bootloadera i tablica partycji, stąd Grub wie jaki system i skąd (z jakiego dysku i partycji) ma go uruchomić.

Pozdrawiam!


(Manonim93) #10

Ok dzięki, jutro będę się walczył :smiley: