Uruchamianie utknęło przy migającym kursorze przed GRUB - działa tylko poprzez menu rozruchu BIOS

0

Mam nowe pudełko z systemem Debian Squeeze. Grub jest zainstalowany na / dev / sda, ale podczas uruchamiania dostaję migający kursor, przed menu Grub. Mogę uruchomić system tylko po pomyślnym uruchomieniu, gdy wybiorę opcje rozruchu (podczas postu) i wybierz konkretny dysk! Upewniłem się, że poprawny napęd jest ustawiony na rozruch w BIOSie.

Więc Grub działa, ale system nie uruchamia się automatycznie na tym dysku? Wszelkie pomysły na to, co może to powodować?

Napędy sda / b / c mają wszystkie 2 TB (sda uruchamia system z b / c jako urządzeniem RAID md0) z następującymi partycjami:

$ cat /proc/partitions

major minor  #blocks  name
8        0 1953514584 sda
8        1        977 sda1
8        2    9765625 sda2
8        3    6445313 sda3
8        4 1937302627 sda4
8       32 1953514584 sdc
8       16 1953514584 sdb
9        0 1953513424 md0

ale

# fdisk -l /dev/sda

daje

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1      243202  1953514583+  ee  GPT

Każdy wgląd w to dziwne zachowanie będzie bardzo mile widziane.

delta1
źródło
Powinieneś był użyć ppolecenia gdiskzamiast fdisktam. Nie chodzi o to, że zawartość tabeli partycji prawdopodobnie będzie związana z twoim problemem, który zależy bardziej od rzeczy, takich jak dysk, o którym mówi twoje oprogramowanie układowe, w danym momencie to jednostka 0x80.
JdeBP,
Dzięki @JdeBP. Czy mógłbyś rozwinąć unit 0x80nieco dalej?
delta1
1
Oprogramowanie układowe jednostek dysków twardych 0x80, 0x81, 0x82 i tak dalej. Które liczby są przypisane do różnych jednostek dyskowych. W szczególności może się różnić przy każdym użyciu menu opcji uruchamiania oprogramowania układowego. Niektóre oprogramowanie wewnętrzne powoduje, że wybrana jednostka dyskowa zawsze będzie mieć jednostkę 0x80; inni nie zmieniają numeru jednostki, ale informują moduł ładujący, że jednostka 0x81 / 0x82 / cokolwiek jest dyskiem rozruchowym. Te zachowania źle współdziałają z modułami ładującymi, które nie są zgodne ze specyfikacją rozruchową systemu BIOS. Dla zachowania, które opisujesz, naprawdę musisz skoncentrować się na numeracji oprogramowania układowego , a nie na Linuksie.
JdeBP
Dzięki! Myślę, że wtedy będę szukał aktualizacji BIOSu i spróbował znaleźć tę numerację.
delta1

Odpowiedzi:

1

Masz tablicę partycji GPT, co oznacza, że ​​Linux może być zainstalowany jako EFI.

Teoria: Gdy próbujesz uruchomić komputer bez wywoływania menu, stopień 0 GRUB nie może znaleźć następnego poziomu na partycji podrzędnej GPT. Podczas uruchamiania za pomocą menu rozruchu BIOS wywołuje EFI i rozruch kończy się powodzeniem. Spróbuj poszukać opcji uruchamiania w trybie EFI w BIOS-ie i sprawdź, czy to robi różnicę.

nitro2k01
źródło
0

Możliwe, że BIOS nie ponosi winy, choć może tak być. Zajrzałbym do pliku /boot/grub/device.map, który zawiera mapowanie systemu BIOS na identyfikatory systemu Linux. Może to być niepoprawnie skonfigurowane i powoduje problemy. Jednak może być trudno ustalić, który dysk jest, ponieważ prawdopodobnie macie trzy identyczne dyski w macierzy RAID.

Rod Smith
źródło
Dzieki za sugestie. Dokonałem już obejścia, instalując gruba na innym dysku twardym i początkowo kierując BIOS na ten dysk. To omija problem, ale co ciekawe, jedyną różnicą między dwoma dyskami jest tablica partycji. Zbadam to później, kiedy będę miał trochę czasu, i dam znać, jakie są różnice, jeśli chcesz. Jeszcze raz dziękuję za odpowiedź :)
delta1