Uruchamiałem system Windows 7 i Linux Ubuntu z podwójnym uruchomieniem na moim komputerze i dziś jest dzień, w którym rozdali bezpłatne aktualizacje systemu Windows 10. Ależ ekscytujące! Dostałem aktualizację, która była instalowana i wyszedłem, żeby zrobić 30-minutową drzemkę. Jednak gdy wróciłem do komputera, pojawiło się polecenie ratowania gruba.
error: no such partition.
Entering rescue mode...
grub rescue>
Podczas pisania otrzymuję następujące informacje ls
:
grub rescue> ls
(hd0) (hd0,msdos5) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
Po szybkim przejrzeniu osób, które spotkały się z monitem ratowania gruba, napisałem set
i otrzymałem następujące
grub rescue> set
cmdpath=(hd0)
prefix=(hd0,msdos6)/boot/grub
root=hd0,msdos6
Nadal byłem trochę zagubiony po stwierdzeniu, że niektóre polecenia, takie normal
jak, nie działały, a następnie znalazłem samouczek wideo, w którym uruchamiasz z dysku CD z obrazem systemu Linux i uruchamiasz niektóre polecenia na terminalu. Na szczęście miałem ze sobą swoją płytę CD i stamtąd wystartowałem. sudo fdisk -l
Jednak po wpisaniu do terminalu otrzymałem:
ubuntu@ubuntu:~$ sudo fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc03ede74
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 1547022335 773407744 7 HPFS/NTFS/exFAT
/dev/sda3 1547022336 1547943935 460800 27 Hidden NTFS WinRE
/dev/sda4 1547945982 1953521663 202787841 f W95 Ext'd (LBA)
/dev/sda5 1915731968 1953521663 18894848 7 HPFS/NTFS/exFAT
Mówi się tutaj, że żadne z moich urządzeń nie ma systemu Linux! Poza tym nie mogłem śledzić samouczka wideo ...
Trochę drażniłem swój mózg i stwierdziłem, że sda2 zawiera mój system Windows (ponieważ pamiętam, że mój dysk C: ma około 700-GB przestrzeni). Po przemyśleniu trochę więcej, pamiętam, że przydzieliłem około 200-GB GB miejsca na dysku twardym na coś, co jest związane z Ubuntu podczas instalacji Ubuntu. Nie pamiętam dokładnie, ale myślę, że było to po prostu „miejsce na dysku twardym” Ubuntu i nie było w nim żadnych plików rozruchowych. Przypisałem dwie inne rzeczy dla Linuksa, ale były one bardzo małe (jeszcze nie przekraczając znaku 1 GB).
Czy więc ktoś może mi pomóc odzyskać uaktualnienie na właściwe tory? Nie będę miał nic przeciwko, jeśli w końcu będę musiał całkowicie usunąć partycje z Linuksem.
źródło
/dev/sda5
lub(hd0,msdos5)
partycji, co wyniósłoby zaledwie 1,7 MB, więc partycja Linuksa prawie się tam nie ukrywała. Domyślam się, że wpis partycji Linuksa został w jakiś sposób przeniesiony w to miejsce (# 5 zamiast # 6) i że jego typ został niewytłumaczalnie zmieniony. Pierwszą rzeczą do wypróbowania będziels (hd0,msdos5)/
polecenie ratunkowe GRUB.Odpowiedzi:
Mój komputer został fabrycznie zainstalowany, więc zmniejszyłem partycję Windows, aby zrobić miejsce dla Ubuntu. Tak to działało przez ostatni rok. Po drugim ponownym uruchomieniu systemu Windows 10 komputer nie uruchomił się już. GRUB wyświetlał tylko wiersz
grub rescue
polecenia. Później dowiedziałem się, że problem wystąpił, ponieważ system Windows w jakiś sposób zmienił schemat partycji. Partycja rozruchowa (zawierająca normalne dane GRUB) nie była już tam, gdzie oczekiwał tego GRUB. Nie wiem jak i dlaczego tak się stało.Pierwszą rzeczą, którą możesz zrobić w trybie ratunkowym, jest zobaczenie partycji za pomocą
ls
polecenia. Moje były:Spróbuj dowiedzieć się, która partycja jest partycją rozruchową. Nie ma Tabukończenia, musisz go całkowicie wpisać. Próbowałem następujących poleceń, dopóki nie znalazłem właściwej partycji:
itp.
Następnie wpisz
set
ten sam monit. Wyświetli się, gdzie GRUB szuka swoich plików. W moim przypadku (hd0, gpt6) przeniósł się do (hd0, gpt7). Wyświetlone polecenie set:Aby wrócić do normalnego GRUB-a, zacznij od zmiany
prefix
ustawienia, aby wskazywało właściwą partycję. W moim przypadku polecenie brzmiało:Następnie możesz przejść z trybu ratunkowego do trybu normalnego:
Można również naprawić
root
ustawienie za pomocą:Ale nie jest to absolutnie konieczne, ponieważ nie ma znaczenia dla wpisów obciążenia systemu Windows. W normalnym menu GRUB-a możesz uruchomić system Windows i dokończyć aktualizację systemu Windows. Problem polega na tym, że przy każdym ponownym uruchomieniu musisz poinformować gruba o właściwych partycjach. Tak to zrobiłem. Problem GRUB-a zostawiłem na później, ponieważ nie byłem pewien, czy Windows wprowadzi jakieś zmiany w partycjach, czy uruchomi się.
Kiedy Windows skończył, zacząłem rozwiązywać problemy GRUB. Naciśnij,
e
aby edytować opcje uruchamiania dla Ubuntu. Zmieniłem wszystko(hd0,gpt6)
na(hd0,gpt7)
i Ubuntu uruchomiło się.Używam jednak zaszyfrowanej partycji i zamiany cryptswap. Podczas uruchamiania Ubuntu poprosił mnie o hasło. Na szczęście zapisałem go podczas instalacji Ubuntu i wprowadziłem przy starcie systemu. Ubuntu uruchomiło się bez problemów.
Potem poprawił
/boot/grub/grub.cfg
plik gdzie otrzymuje(hd0,gpt6)
się(hd0,gpt7)
i wykonał:W tym momencie jedynym problemem pozostało szyfrowanie. Ponieważ główny numer partycji Ubuntu został zwiększony o jeden (7 zamiast 6), partycja wymiany uległa podobnej zmianie. Musiałem zmienić
/etc/crypttab
plik, aby wskazywał/dev/sda8
zamiast/dev/sda7
.Używam tylko dwóch partycji dla Ubuntu (root i swap). Jeśli inne systemy operacyjne współistniejące z systemem Windows używają większej liczby partycji, mogą być wymagane dalsze zmiany. Zwłaszcza jeśli partycje są montowane zgodnie z ich numerami, a nie według ich identyfikatorów UUID. Spójrz na swoje
/etc/fstab
. Jeśli partycje są identyfikowane przez UUID, nie powinno być problemów. Ale jeśli są/dev/...
wiersze, numer powinien zostać poprawiony, jeśli numeracja tych partycji została zmieniona.źródło
ls (hd0,msdos1)/ ls (hd0,msdos1)/boot ls (hd0,msdos2)/ etc.
wszystkich wpisów zls
polecenia i za każdym razem, gdy to wymyślierror: unkown filesystem
.sudo nano /boot/grub/grub.cfg
i uruchomiłemsudo grub-install /dev/sda
(z jakiegoś powodu wywołanie bez parametru nie powiodło się dla mnie). I dopiero wtedy trwałe zmiany zadziałały.Instalowanie systemu Windows (lub uaktualnianie go) wraz z linuksem może być problematyczne.
Spróbuj tego: https://help.ubuntu.com/community/Boot-Repair
Użyłem go do rozwiązania problemu po zainstalowaniu podglądu technologii Windows 10 i zadziałało. Zasadniczo, to co robi, to ponownie zainstalować grub, aby działał ze wszystkimi obecnie zainstalowanymi systemami operacyjnymi. Pamiętaj, aby powiedzieć mu, aby zainstalował grub na partycji linux (sd #).
Powodzenia!
źródło
Przed zmianą partycji wykonaj kopię zapasową i zapisz na innym urządzeniu. Jeśli nie, zmień dysk na poprawny. Następnie możesz zacząć od nowa, jeśli przywrócisz niepoprawny zestaw za pomocą testdisk. Chcesz tylko wszystkie bieżące plus brakujące logiczne podczas przywracania za pomocą testdisk.
Brakująca partycja jest tutaj lub pomiędzy początkiem partycji rozszerzonej o 1547 ... a pierwszą partycją pokazaną o 1915 ...:
Możesz użyć testdisk, ale używa CHS. Musisz wybrać wszystkie istniejące partycje i brakującą partycję jako logiczne. Może wyświetlać wiele wersji w zależności od tego, ile razy zmieniłeś partycje. Wybierz rozmiar pasujący do brakującego bez nakładania się na inne bieżące partycje. Niektóre, które poprawnie przywróciły, mogły się po prostu uruchomić, inne muszą ponownie zainstalować grub. Niektóre nie mogły poprawić partycji przywracania.
http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step
Kolejnym narzędziem przywracania jest częściowe ratowanie. Używa sektorów, ale podany zakres musi znajdować się poza brakującą partycją bez nakładania się na bieżące partycje. Najlepiej, jeśli znasz dokładny początek i koniec. Zobacz, jak mężczyzna się rozstał
http://www.gnu.org/software/parted/manual/html_node/rescue.html
Użytkownik, który użył ratowania częściowego:
http://ubuntuforums.org/showthread.php?t=1775331&p=10905969#post10905969
źródło
To paskudny błąd w partycjonerze Windows, a nie specyficzny dla Linuksa. Ironicznie usunęło partycję NTFS w moim przypadku.
Instalator Windows 10 tworzy nową partycję (twoją
/dev/sda3
) wyciętą na końcu głównej partycji Windows,sda2
jeśli partycja rozruchowa Windowssda1
jest zbyt mała, aby pomieścić środowisko odzyskiwania systemu Windows 10.Gdy przepisuje tablicę partycji, aby to zrobić, dla każdej partycji logicznej w rozszerzonej tablicy partycji
sda4
, jeśli znajduje się na dysku przed poprzednim numerem partycji, poddaje się.W twoim przypadku partycje Linuksa znajdowały się na twoim dysku przed nową
sda5
, ale miały wyższe numery partycji niżsda5
przed partycjonowaniem.Jeśli przejrzysz ogromne dzienniki uaktualnień systemu Windows 10, zobaczysz komunikat „6 przed 5, nic nie robić”, wraz ze starymi i nowymi tabelami partycji.
System Windows nie zastępuje zawartości usuwanych partycji, więc można je odzyskać, jeśli można znaleźć ich lokalizację. W moim przypadku miałem kopie zapasowe tabeli partycji, ale użycie testdisk, jak wyjaśniono w odpowiedzi oldfreda, ma doskonałą szansę na znalezienie ich wszystkich. Parted ratowanie będzie trudne w użyciu, ponieważ w twoim przypadku usunięto więcej niż jedną partycję.
Aby użyć testdisk z Live CD Ubuntu, w typie terminala,
sudo apt-get install testdisk
aby go zainstalować isudo testdisk
uruchomić.Po naprawieniu tablicy partycji partycja Linux zawierająca GRUB może mieć teraz inny numer niż poprzednio, więc nadal możesz skończyć po wyświetleniu monitu ratunkowego GRUB. Jeśli tak, Naprawa rozruchu będzie teraz mogła naprawić GRUB.
Ponownie, korzystając z Live CD Ubuntu, wpisz:
zainstalować i uruchomić.
Teraz system Windows może ukończyć aktualizację.
źródło
Aby skorzystać z naprawy rozruchu, musisz ustawić w BIOS:
Włącz UEFI (w moim BIOSie jest :)
Obsługa starszych wersji WYŁĄCZ
Wyłącz bezpieczny rozruch
Prawdopodobnie masz włączony Bezpieczny rozruch, więc pojawia się błąd „niepoprawnie podpisanego pliku”.
źródło