Autor: Ig (iglaz_at_f2virt.onet.pl)
Data: Wed 08 Oct 2003 - 12:58:30 MET DST
jarek wrote:
> Witam
>
> Mam dwa dyski.
> Na pierwszym windows XP, na drugim Linux Red Hat 9.
> Gdy wyjmuje z kieszeni dysk linuxowy pojawia sie blad. Linuxowy loader GRUB
> zapisany w sektorze rozruchowym pierwszego dysku nie znajduje dysku
> linuxowego.
> Uzywam konsoli odzyskiwania XP i polecenia FIXBOOT. To jednak nie dziala.
> Polecenie FIXMBR-informauje ze moge stracic dane o partycjach i starcic dane
> na dysku. Nie uzywalem wiec.
> Wiem, ze moge skorzystac z dysku startowego win98 i "fdisk.exe /mbr", ale
> chce zalatwic sprawe przy pomocy XP.
>
> Jak to zrobic?
>
> Pozdrawiam
> jarek
>
>
Odinstaluj LILO z pierwszego dysku np. LILO -U /dev/hda1
Ig
a potem
Niniejszy opis dotyczy konfiguracji windowsowego (XP) NT Boot Loadera,
tak aby można było bezpiecznie odpalać Linuxa z poziomu menu startowego
XP (a nie z linuxowej dyskietki).
* Zaloguj się pod konsolą (nie w terminalu okienkowym pod np. KDE)
jako root.
* Poleceniem ls / sprawdź czy masz katalog /floppy . Jeżeli nie,
to jeszcze raz poleceniem ls /mnt . Zapamiętaj położenie katalogu floppy
(w Mandraku jest on w /mnt/floppy).
* Włóż czystą dyskietkę (sformatowaną pod MS Winndows lub DOS) i
zamontuj flopka poleceniem:
mount -t vfat /dev/fd0 /mnt/floppy
lub
mount /dev/fd0
lub
mount /mnt/floppy
* Poleceniem mount sprawdź jakie urządzenie jest podmontowane jako
linuxowe / . U mnie wygląda to następująco: /dev/hda5 on / type ext3
(rw)
Wyjaśnienie: /dev/hda5 to partycja, z której bootuje się Linux.
Tak jest w moim przypadku, gdyż wcześniej zapisałem LILO do bootsectora
tej partycji nie do MBR dysku - jest to ważne, gdyż po błędnym zapisaniu
do MBR (czyli tam gdzie WinXP trzyma swój record startowy), nastąpi
nieodwracalne uszkodzenie bootsectora partycji windowsowej. Oczywiście
system plików ext3 u Ciebie może być inny np. ext2.
Polecam też przegladnąć plik /etc/fstab
* Mając zamontowaną czystą (sformatowaną) dyskietkę oraz znając
położenia interesujących nas urządzeń zgraj bootsector z /dev/hda5 na
dyskietkę za pomocą polecenia: dd if=/dev/hda5
of=/mnt/floppy/bootsec.lnx bs=512 count=1
Pamiętaj, że przyjąłem iż LILO zainstalowane jest obecnie w
bootsectorze pierwszej partycji Linuxowej.
* Poleceniem umount /mnt/floppy lub mount /dev/fd0 odmontuj dyskietkę.
* Przeładuj system poleceniem shutdown -r 0 (lub shutdown -r now
lub reboot) i załaduj WindowsXP.
* Pod WindowsXP skopiuj z dyskietki plik bootsec.lnx (przed chwilą
zgrałeś go na dyskietkę dając pod Linuxem zlecenie dd) do katalogu
głównego C:\ na partycji windowsowej. Nadj mu atrybut H (hidden-ukryty),
po to aby nikt go przez przypadek nie skasował.
* Dopisz do pliku c:\boot.ini wiersz:
c:\bootsec.lnx="LINUX"
Uwaga: ponieważ plik boot.ini ma atrybuty SHR (System Hidden
ReadOnly), musisz je wcześniej zdjąć by cokolwiek móc w nim modyfikować.
Możesz użyć polecenia w okienku dos'owym:
attrib -S-H-R c:\boot.ini
* Przeładuj komputer. W menu startowym NT/XP powinna oprócz
pozycji Windows XP pojawić się pozycja LINUX.
Nieprawdziwą jest informacja krążąca po necie, że odpalanie WindowsXP i
Linuxa z tego samego dysku uszkadza bootsector Windowsa. Korzystanie z
NT Boot Loadera jest bezpieczne, ale w sposób jaki opisałem powyżej.
Natomiast rzeczywicie nie wolno uruchamiać WindowsXP z poziomu
linuxowego menu startowego LILO (uszkodzi się wówczas bootsector
partycji windowsowej).
Jeżeli nie zrozumiałeś mojego artykułu, to nie przejmuj się. Zawsze
możesz bezpiecznie odpalać Linuxa z dyskietki startowej, a Windowsa
standardowo, z dysku.
Aha... Byłbym zapomniał. Można instalować LILO powyżej 1024 cylindra
dysku, ale z użyciem opcji: LBA32 . Należy więc należy dopisać w
dowolnym miejscu pliku /etc/lilo.conf wiersz lba32. Jedynie lilo w
bardzo starych wersjach nie obslugują tego. Pamiętaj, by po każdej
edycji pliku /etc/lilo.conf wydać komendę lilo, która zaktualizuje
ustawienia bootloadera.
To archiwum zostało wygenerowane przez hypermail 2.1.7 : Wed 19 May 2004 - 11:24:17 MET DST