Gdzie należy zainstalować program ładujący, gdy chcę uruchomić Ubuntu z zewnętrznego dysku twardego?

9

Mam laptopa z systemem Windows 10 i chcę zainstalować Ubuntu na zewnętrznym dysku twardym, a kiedy tylko jest to potrzebne, mogę po prostu podłączyć go i uruchomić z dysku zewnętrznego.

Wykonałem samouczek, właściwie dwa, i oba powiedziały, że bootloader musi być zainstalowany na zewnętrznym dysku twardym. To spowodowało, że mogłem uzyskać dostęp do systemu Windows tylko wtedy, gdy miałem podłączony zewnętrzny dysk twardy. Za każdym razem, gdy nie miałem go podłączonego, laptop nie uruchamiał się i otrzymywałem czarny ekran z białą linią. Po naprawieniu mojego głównego rekordu rozruchowego mogłem uzyskać dostęp do systemu Windows.

Teraz chcę spróbować ponownie, ale obawiam się, że jeśli zainstaluję program ładujący na dysku wewnętrznym, mogę w jakiś sposób usunąć partycję systemu Windows lub będę mieć problemy z uruchomieniem.

Więc co powinienem zrobić?

kapitan
źródło
Możliwe błędy i obejście w witrynie bugs.launchpad.net/ubuntu/+bug/1835639
Bellera

Odpowiedzi:

10

Po pierwsze, KRYTYCZNE jest zrozumienie trybu rozruchu. Nowoczesne komputery można uruchomić na dwa sposoby:

  • BIOS - jest to stary sposób uruchamiania, który był używany na większości komputerów wprowadzonych przed 2011 r. Nowoczesne komputery obsługują uruchamianie w trybie BIOS za pomocą funkcji zwanej modułem wsparcia kompatybilności (CSM), zwanej „obsługą rozruchu w trybie starszego typu” lub podobny termin. Tak więc do tej metody można się odwoływać pod trzema nazwami: BIOS, CSM lub starsza wersja. Obejmuje 16-bitowy kod modułu ładującego splatowany w głównym rekordzie rozruchowym (MBR) i różnych innych miejscach. Jest to nieelegancka, ale dojrzała metoda uruchamiania, a większość witryn, które nie wspominają o trybie uruchamiania, opisują uruchamianie w trybie BIOS. Jeśli jednak komputer został dostarczony z systemem Windows 8 lub nowszym, istnieje duże prawdopodobieństwo, że nie korzysta on z tej metody uruchamiania.
  • EFI / UEFI - jest to natywny tryb uruchamiania dla większości komputerów wprowadzony od połowy 2011 r., I całkowicie różni się od uruchamiania w trybie BIOS, dlatego należy zignorować wszelkie porady, które wyraźnie stwierdzają, że dotyczy uruchamiania w trybie BIOS lub cokolwiek nie wspomina o trybie rozruchu (ponieważ może być stary lub napisany przez kogoś, kto nie zna różnicy). Jeden wyjątek: myląco wiele osób, a nawet producentów komputerów, nazywa swoje pliki EFI „BIOSami”. Ta praktyka powoduje wiele zamieszania.

Ponieważ wspominasz o systemie Windows 10, prawdopodobnie twój komputer jest oparty na EFI i uruchamia się w trybie EFI. Przejdę do tego założenia. Jeśli jest to niepoprawne, zignoruj ​​resztę tej odpowiedzi.

Aby uruchomić dysk wewnętrzny w trybie EFI, system operacyjny zwykle przechowuje moduł ładujący jako plik na partycji systemowej EFI (ESP) na dysku. Ta nazwa pliku może być dowolna, ale w przypadku Ubuntu będzie EFI/ubuntu/shimx64.efi, co z kolei się uruchomi EFI/ubuntu/grubx64.efi. Instalator systemu operacyjnego rejestruje nazwę modułu ładującego za pomocą wbudowanego menedżera rozruchowego EFI, który przechowuje tę nazwę w pamięci NVRAM. Jeśli EFI działa poprawnie (nie wszystkie działają), skutkuje to działającym procesem rozruchowym.

Problem z tym procesem, zastosowanym na dysku wymiennym, jest trzykrotny:

  • Instalator Ubuntu zainstaluje GRUB na „ESP” - ale możesz mieć wiele ESP dostępnych (prawie na pewno jeden na dysku twardym i może na dysku USB). Kontrolowanie, gdzie instaluje się GRUB, może być trudne. Nie można tego zrobić za pomocą opcji oznaczonej oczywistym tytułem, gdzie zainstalować GRUB. Zamiast tego można to zrobić (AFAIK) tylko z opcji instalacji „Coś innego” poprzez oznaczenie ESP, którego chcesz użyć jako „partycji rozruchowej EFI” lub „partycji systemowej EFI” (której nazwa zależy od wersji Ubuntu).
  • Jeśli zainstalujesz GRUB na ESP na napędzie USB, wtedy gdy wyjmiesz napęd USB, EFI może zauważyć, że ma zarejestrowany niepoprawny wpis modułu ładującego i usunąć ten wpis. Wiele EFI to robi, a to oznacza, że ​​jeśli zainstalujesz GRUB na dysku zewnętrznym, a następnie go odłączysz, stracisz możliwość rozruchu z tego dysku, nawet po ponownym podłączeniu dysku.
  • Sposób, w jaki Ubuntu konfiguruje GRUB, powoduje, że polega on na plikach konfiguracyjnych znajdujących się w /boot/grubkatalogu Ubuntu , co prawdopodobnie nie będzie na ESP. Tak więc, jeśli Ubuntu zainstaluje GRUB na ESP na twoim dysku wewnętrznym, unikniesz pierwszego problemu, ale wpadniesz na inny, ponieważ kiedy uruchomisz z odłączonym napędem USB, GRUB uruchomi się i nie będzie mógł znaleźć swoich plików konfiguracyjnych. Rezultatem jest grub>monit, który zaskoczy większość użytkowników.

Istnieje wiele rozwiązań tych problemów, w tym:

  • Instrukcja zainstalować GRUB do nazwy pliku awaryjnej na dysku zewnętrznym - Boot OS instalatorów przy użyciu pliku awaryjnej z EFI/BOOT/bootx64.efi. Jeśli skopiujesz Shim (który uruchamia GRUB) do tego pliku (poprzez skopiowanie EFI/ubuntudo EFI/BOOTna ESP, a następnie zmiana nazwy shimx64.efi, aby bootx64.efiwEFI/BOOT), oprogramowanie wewnętrzne będzie w stanie uruchomić GRUB oparty na USB, podobnie jak instalator Ubuntu. To obejdzie oba problemy, które właśnie zidentyfikowałem, ale musisz użyć wbudowanego menedżera rozruchu komputera, aby wybrać system operacyjny, który chcesz uruchomić. Ten wbudowany menedżer rozruchu waha się od bezużytecznego do tolerowanego, więc może to być akceptowalne rozwiązanie. Konieczne może być również dostosowanie kolejności rozruchu po zainstalowaniu Ubuntu, aby domyślnie nie uruchamiał GRUB-a z ESP dysku wewnętrznego lub ESP.
  • Umieść /bootpartycję na dysku wewnętrznym - Jeśli zainstalujesz GRUB na dysku wewnętrznym, możesz także umieścić /bootpartycję na dysku wewnętrznym. Umożliwi to GRUB normalne działanie na wszystkich butach; jednak opcja Ubuntu będzie się pojawiać cały czas, nawet gdy dysk USB jest odłączony. Może to być niepożądane, zwłaszcza jeśli domyślnym jest Ubuntu. Ponadto to rozwiązanie oznacza, że ​​zewnętrzny dysk USB będzie można uruchomić tylko na komputerze, na którym go przygotowałeś. Jeśli chcesz móc korzystać z tego dysku na innych komputerach, powinieneś unikać tego rozwiązania.
  • Użyj inteligentniejsze menedżera rozruchu - Boot manager daje możliwość wyboru systemów operacyjnych do rozruchu, podczas rozruchu załadunek ładunku jądra do pamięci. GRUB wykonuje oba zadania, a wbudowany menedżer rozruchu EFI wykonuje tylko pierwsze zadanie. Dostępne są inne menedżery rozruchu, z których niektóre mogą pomóc w uniknięciu zidentyfikowanych problemów. Na przykład moja własna rEFInd, jeśli jest zainstalowana na ESP dysku wewnętrznego i jest domyślnym programem rozruchowym, wykryje i zaprezentuje opcję Ubuntu tylko wtedy, gdy obecny jest GRUB lub jądro Linuksa - to znaczy, gdy napęd USB jest podłączony w. Ustawiając default_selectionopcję wrefind.confodpowiednio, możesz skonfigurować rEFInd, aby uruchamiał system Ubuntu automatycznie, jeśli dysk USB Ubuntu jest podłączony, i uruchamiał się bezpośrednio do systemu Windows, jeśli dysk USB Ubuntu nie jest podłączony. Moja odpowiedź na to pytanie zawiera więcej szczegółów na temat tego rodzaju konfiguracji, chociaż komputer Mac, a nie PC.

Przy odrobinie szczęścia jedno z tych podejść sprawi, że zaczniesz działać.

Rod Smith
źródło
0
  1. Uruchom Ubuntu Live USB / CD
  2. Podłącz zewnętrzny dysk twardy
  3. Zainstaluj Ubuntu na zewnętrznym dysku twardym (zaawansowane, dzięki czemu możesz ustawić, gdzie ma zostać zainstalowany moduł ładujący)
  4. Skonfiguruj BIOS, aby uruchamiał się z zewnętrznego dysku twardego
RemoveThisAccount
źródło
Jest to rozwiązanie oparte na systemie BIOS, które nie działa poprawnie na większości komputerów z interfejsem EFI.
Rod Smith
0

Musisz zainstalować program ładujący na dowolnym dysku, którego używa UEFI / BIOS do uruchomienia. Można zmienić ten dysk w ustawieniach BIOS-u, które można zwykle dostęp wciskając coś podobnego F10, F12albo Delzaraz po uruchomieniu komputera. Pierwszym krokiem jest próba ustawienia uruchamiania komputera z dysku zewnętrznego zamiast z dysku wewnętrznego. Jeśli bootloader jest poprawnie zainstalowany na dysku zewnętrznym, powinno to działać.

Dla zwykłego codziennego użytku prawdopodobnie ze względów wygody zawsze będziesz chciał uruchamiać system z tego samego dysku, więc zainstaluj program ładujący na dysku wewnętrznym. Jednak przed zrobieniem tego należy wykonać kopię zapasową, najlepiej pełny obraz dysku z działającym dyskiem wewnętrznym. Jeśli napotkasz problemy po zainstalowaniu Ubuntu wraz z systemem Windows, narzędzie Boot-Repair może pomóc.

Ben
źródło
Zmieniłem już kolejność uruchamiania z USB przed wewnętrznym dyskiem twardym. Więc wyobrażam sobie, że jeśli zainstaluję Ubuntu na zewnętrznym dysku twardym i zainstaluję bootloader na zewnętrznym dysku twardym, mogę, ale jakbym uruchamiał się z pamięci USB, prawda?
kapitan
Przepraszam, nie jestem pewien, o co pytasz. Powinieneś być w stanie 1) zainstalować bootloader na dysku zewnętrznym, 2) usunąć dysk USB i 3) ustawić BIOS do uruchamiania z dysku zewnętrznego, a następnie rozruchu do Ubuntu na dysku zewnętrznym.
Ben
@capitan Wright. Tak jak powiedziałem, to zadziała.
Izzno
0

Zainstalowałbym moduł ładujący na urządzeniu zewnętrznym! W ten sposób nie ma ryzyka, że ​​instalacja systemu Windows uszkodzi lub usunie program ładujący. Byłoby prostym zadaniem ustawienie BIOS do uruchomienia:

USB-Key
USB-Disk
HDD
etc 
etc

UWAGA: UPEWNIJ SIĘ, ŻE WYŁĄCZYĆ SECUREBOOT (jeśli znajdziesz tę opcję)

W ten sposób, jeśli z jakiegoś powodu odłączysz urządzenie zewnętrzne, nie będzie to stanowić problemu z komputerem.

I: Jeśli będziesz trzymać się z dala od zastrzeżonych sterowników, będziesz mógł uruchomić ten system na innych komputerach ...

(Przy okazji, nie poleciłbym tego typu instalacji do stałego użytku, ponieważ będzie wolniejszy niż eSATA)

Izzno
źródło
Ubuntu obsługuje Bezpieczny rozruch. Chociaż zdarzają się sporadyczne niezgodności, są one rzadkie, więc nie powinno być potrzeby wprowadzania w błąd tego ustawienia. W EFI ustawienia kolejności rozruchu są zwykle znacznie bardziej złożone niż to opisujesz, co jest zarówno dobre, jak i złe - zapewnia więcej opcji i bardziej precyzyjną kontrolę; ale oznacza to, że trzeba się jeszcze wiele nauczyć, a proste rozwiązania poznane w świecie BIOS-u raczej nie zadziałają.
Rod Smith
Nie wiedziałem, że ubuntu może „pozować” jako okno, ponieważ wszystkie opcje Bezpiecznego rozruchu BIOS-u, jakie widziałem, wyraźnie stwierdzają, że wyłącza wszystkie możliwości trwałej zmiany kolejności rozruchu i / lub systemu operacyjnego.
Izzno
Ubuntu nie „pozuje” jako Windows. Bezpieczny rozruch wymaga jedynie podpisania programu EFI kluczem prywatnym, którego klucz publiczny jest zarejestrowany w oprogramowaniu układowym. Microsoft podpisuje klucze dla stron trzecich, w tym plik binarny Shimical firmy Canonical, dzięki czemu można je uruchamiać na komputerach zawierających klucz Microsoft. Nigdy nie słyszałem o implementacji Bezpiecznego rozruchu, która uniemożliwia zmianę kolejności rozruchu, chociaż przypuszczam, że sprzedawca może zdecydować się na dodanie tego ograniczenia. Zobacz moją stronę na temat Bezpiecznego rozruchu, aby uzyskać więcej informacji na ten temat.
Rod Smith