jest inaczej, w tym przypadku folder / boot został całkowicie usunięty. nie tylko niektóre pliki, dzięki.
Imad Nouari,
Nie wydaje mi się, żeby żadna odpowiedź na drugie pytanie była wystarczająca, aby to naprawić ...
Graeme
W porządku, naprawdę nie przeczytałem wszystkich odpowiedzi. Zawsze sugerowałbym przebudowanie całości, zamiast bawić się w szukanie tego, czego brakuje, więc zakładałem, że ktoś też by to zrobił. Zajmuje to połowę czasu.
Cthulhu Tentacles
7
Znacznie większym błędem w porównaniu do usuwania /bootjest oczywiście ponowne uruchomienie systemu, zanim zostało to naprawione.
Anthon
Odpowiedzi:
36
Ups!
Oto co robić:
Uruchom dystrybucję na żywo. Może to być dysk instalacyjny Ubuntu lub inny, na przykład Knoppix .
Znajdź dysk / partycję, na której zainstalowałeś główny system plików. Aby to zrobić, można otworzyć terminal i uruchomić albo sudo parted -lalbo sudo fdisk -l. Jeśli nie możesz powiedzieć, edytuj swoje pytanie i dodaj wynik.
Zakładając, że twoja partycja główna znaleziona w ostatnim kroku to /dev/sdxy( xpowinna być kolejna litera i ypowinna być liczba), a następnie uruchom następujące polecenia w terminalu:
mkdir mnt
sudo mount /dev/sdxy mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot mnt
Będziesz teraz w chrootśrodowisku, co oznacza, że wykonywanie tutaj poleceń jest równoważne z uruchamianiem ich w zainstalowanym systemie. Pierwszą rzeczą, którą chcesz zrobić, to ponownie zainstalować GRUB2 na urządzeniu, aby skopiowało prawidłowe pliki do /bootfolderu. Aby to zrobić, uruchom następujące polecenie na dysku, na którym znajduje się twoja partycja główna (tzn. /dev/sdxyZ yusuniętą liczbą ( )):
grub-install /dev/sdx
Teraz chcesz dowiedzieć się, które zainstalowane pakiety mają pliki w katalogu rozruchowym i ponownie je zainstalować. Zastąpi to między innymi obrazy jądra, które zostały usunięte. Polecenie znalezienia pakietów to:
dpkg -S /boot
I aby je ponownie zainstalować:
apt-get --reinstall install ...
Gdzie ...jest zastąpione nazwami pakietów z pierwszego polecenia. Nie dołączaj przecinków, po prostu umieść nazwy pakietów ze spacjami do oddzielenia.
Ten krok prawdopodobnie będzie wymagał dostępu do Internetu (chyba że pakiety są już w pamięci podręcznej), więc upewnij się, że masz połączenie, jeśli występuje problem.
Ponieważ usuniesz jądra i ponownie je zainstalujesz, powinno to spowodować automatyczne uruchomienie aktualizacji GRUB2. Ale na wypadek, gdyby tego nie zrobili, możesz uruchomić:
update-grub
Uruchom ponownie i rzeczy powinny być teraz naprawione. Jednym z problemów, które miałem po raz ostatni, gdy zrobiłem coś podobnego, było to, że system Windows instaluje się tam, gdzie nie można go znaleźć update-grubpo uruchomieniu z chrootpowodu błędu os-prober. Jeśli jest to problem, po prostu uruchom sudo update-grubponownie w naprawionym systemie.
@Olivier, dzięki, że pierwotnie miałem /dev/sdaxwszędzie, a potem zmieniłem na /dev/sdxy.
Graeme,
Dzięki za wspaniałe informacje - uratowało mnie to, z jednym dodatkiem. Ponieważ mam programową macierz RAID, musiałem również postępować zgodnie z instrukcjami tutaj: help.ubuntu.com/community/Grub2/Instalacja w ramach ponownej instalacji za pomocą metody chroot, aby uruchomić mdadm i złożyć elementy RAID i odpowiednio wykonać montaż. Następnie po chroot zainstaluj ponownie pakiety zgodnie z opisem w tej odpowiedzi i wszystko będzie dobrze!
/boot
jest oczywiście ponowne uruchomienie systemu, zanim zostało to naprawione.Odpowiedzi:
Ups!
Oto co robić:
Uruchom dystrybucję na żywo. Może to być dysk instalacyjny Ubuntu lub inny, na przykład Knoppix .
Znajdź dysk / partycję, na której zainstalowałeś główny system plików. Aby to zrobić, można otworzyć terminal i uruchomić albo
sudo parted -l
albosudo fdisk -l
. Jeśli nie możesz powiedzieć, edytuj swoje pytanie i dodaj wynik.Zakładając, że twoja partycja główna znaleziona w ostatnim kroku to
/dev/sdxy
(x
powinna być kolejna litera iy
powinna być liczba), a następnie uruchom następujące polecenia w terminalu:Będziesz teraz w
chroot
środowisku, co oznacza, że wykonywanie tutaj poleceń jest równoważne z uruchamianiem ich w zainstalowanym systemie. Pierwszą rzeczą, którą chcesz zrobić, to ponownie zainstalować GRUB2 na urządzeniu, aby skopiowało prawidłowe pliki do/boot
folderu. Aby to zrobić, uruchom następujące polecenie na dysku, na którym znajduje się twoja partycja główna (tzn./dev/sdxy
Zy
usuniętą liczbą ( )):Teraz chcesz dowiedzieć się, które zainstalowane pakiety mają pliki w katalogu rozruchowym i ponownie je zainstalować. Zastąpi to między innymi obrazy jądra, które zostały usunięte. Polecenie znalezienia pakietów to:
I aby je ponownie zainstalować:
Gdzie
...
jest zastąpione nazwami pakietów z pierwszego polecenia. Nie dołączaj przecinków, po prostu umieść nazwy pakietów ze spacjami do oddzielenia.Ten krok prawdopodobnie będzie wymagał dostępu do Internetu (chyba że pakiety są już w pamięci podręcznej), więc upewnij się, że masz połączenie, jeśli występuje problem.
Ponieważ usuniesz jądra i ponownie je zainstalujesz, powinno to spowodować automatyczne uruchomienie aktualizacji GRUB2. Ale na wypadek, gdyby tego nie zrobili, możesz uruchomić:
Uruchom ponownie i rzeczy powinny być teraz naprawione. Jednym z problemów, które miałem po raz ostatni, gdy zrobiłem coś podobnego, było to, że system Windows instaluje się tam, gdzie nie można go znaleźć
update-grub
po uruchomieniu zchroot
powodu błęduos-prober
. Jeśli jest to problem, po prostu uruchomsudo update-grub
ponownie w naprawionym systemie.źródło
/dev/sdax
wszędzie, a potem zmieniłem na/dev/sdxy
.