Korzystam z systemu Debian / Squeeze (z historią sięgającą przynajmniej Woody'ego), który został uaktualniony do grub2 w ramach aktualizacji Squeeze. Wszystko działa dobrze, ale mam zamiar zepsuć konfigurację dysku.
Obecnie na komputerze działają 2 dyski o pojemności 80 GB z partycjami RAID1-ed /, / home i / boot (jest jeszcze jedna para dysków z „/ data” RAID1-ed / i kilkoma zamianami, na wypadek, gdyby ktoś zastanawiał się, gdzie jest zamiana) , ale ich nie dotykam).
Dodałem 2 dyski SSD 130 GB, podzieliłem je na partycje, aby były co najmniej tak duże, jak partycje na dyskach 80 GB, i zamierzam przejść na nowe dyski SSD, powiększając RAID1, aby je uwzględnić, czekając na synchronizację, a następnie usuwając stary dyski z tablic, więc pozostały tylko dyski SSD (a następnie rozbudowuje systemy plików). Ale wranglowanie na mdadm / ext3 nie jest tym, o co chodzi w tym pytaniu ...
Zostaną mi 2 przestarzałe dyski o pojemności 80 GB (IDE), które chcę usunąć z komputera. Martwię się, że usunięcie ich zabierze ze sobą kluczowy MBR. Jak mogę się upewnić, że komputer jest bootowalny?
Dokładniej:
Kiedy zrobiłem aktualizację Squeeze, pamiętam, że został przedstawiony wybór, na których dyskach grub2 powinien zainstalować (poszedłem z domyślną, którą były wszystkie dyski). Jednak dyski SSD nie były w tym czasie w maszynie; Jak mogę to ponownie uruchomić, aby Grub mógł zainstalować na MBR SSD? (Zgaduję, że jest to dpkg-rekonfiguracja jakiegoś pakietu).
Jak mogę sprawdzić, na których dyskach grub2 myśli, że jest zainstalowany? Żałuję, że obecnie w katalogu / boot / grub / znajduje się prawie 200 plików! Gdzie patrzeć ? Ponadto wydaje się nieco dziwne, że /boot/grub/device.map.auto wyświetla obecnie tylko 3 dyski (2 z 80 GB, ale tylko jedną z pozostałych par dysków i żaden z dysków SSD). Jak mogę to zaktualizować? ( Aktualizacja: to był czerwony śledź; device.map.auto wydaje się być reliktem sprzed lat; Device.map wyglądało sensownie na aktualizacji grub-mkdevicemap. Myślę, że moja paranoja w tym obszarze pochodzi z BIOS-u starego mobo, który zmienić kolejność urządzeń widzianych przez GRUBa pod wpływem kaprysu).
Wynik: wszystko poszło dobrze i mam teraz dwa stare dyski IDE 80 GB po wyjęciu z pudełka, a także zgrabny i szybki system uruchamiania z dysków SSD RAID1-ed ze wszystkimi systemami plików o rozmiarach do nowych rozmiarów partycji. Innym „brakującym elementem układanki Grub”, którego szukałem, było dpkg-reconfigure grub-pc
pytanie, na których dyskach utrzymać MBR. Odpowiedź Aarona rzeczywiście najbardziej mnie uspokoiła, że zadziałało to zgodnie z oczekiwaniami, dlatego też zaakceptowałem tę odpowiedź.
dd if=/dev/sda bs=1 count=512 | grep -aob GRUB
. To zwróci pozycję znacznika w sektorze rozruchowym.Proces rozruchu składa się z kilku kroków (opisuję tradycyjny BIOS komputera):
/boot/grub
.(hd0)/boot/grub
), która określa, gdzie znaleźćgrub.cfg
i dalsze moduły Gruba.grub.cfg
jest wykonywany, zwykle w celu wyświetlenia menu i uruchomienia systemu operacyjnego.Sektor rozruchowy jest generowany przez
grub-setup
, zwykle wywoływany przezgrub-install
. Sektor rozruchowy kończy się na dowolnym dysku określonym w składni Linuksa w wierszu poleceniagrub-install
lubgrub-setup
. Możesz sprawdzić, czy masz sektor rozruchowy na dysku, uruchamiającfile -s /dev/sda
. Ponieważ dodajesz nowy dysk i chcesz z niego uruchomić komputer, musisz uruchomić gogrub-install
na nowym dysku. Uruchomionygrub-install
kilka razy na tym samym dysku jest nieszkodliwe.Trudna część znajduje się w kroku 2 powyżej. Jeśli to w ogóle możliwe, umieść Grub (tj.
/boot/grub
Katalog) na dysku rozruchowym BIOS (lub, zbliżając się do tego z drugiej strony, powiedz BIOSowi, aby uruchomił się z dysku, gdzie/boot/grub
jest). Tutajdevice.map
wchodzi w grę. Upewnij się, że(hd0)
jest zamapowany na dysku, który zawiera/boot/grub
, a następnie uruchomgrub-install
na tym dysku.Jeśli twoje dwa dyski są w konfiguracji programowej RAID-1, będziesz mieć identyczne sektory rozruchowe. Jest to pożądane zachowanie: jeśli jeden dysk będący dyskiem rozruchowym systemu BIOS ulegnie awarii, uruchamianie z drugiego dysku będzie po prostu działać (ponieważ zawierają te same bajty w tych samych odpowiednich lokalizacjach). Jeśli dublujesz tylko niektóre partycje, instalacja sektora rozruchowego wpływa tylko na jeden z dysków. Powinieneś uruchomić
grub-install
ponownie na drugim dysku, po zmianiedevice.map
na skojarzenie(hd0)
z dyskiem zawierającym drugą kopię lustrzaną/boot/grub
.Krok 3 jest dość złożony, ale zwykle działa od razu po wyjęciu z pudełka. W kroku 4 Grub lokalizuje systemy plików według UUID lub szuka nazwanych plików, więc nie musisz się już martwić różnymi sposobami oznaczania dysków.
źródło