GNU GRUB Terminal - Zamiast ekranu logowania Ubuntu

14

Uwaga: zanim oznaczysz je jako duplikat, przeczytaj pytanie w całości.

Używam Ubuntu 12.04 normalnie, ale dzisiaj, kiedy włączyłem laptopa i wybrałem Ubuntu z dwóch opcji: Windows i Ubuntu, pojawił się następujący ekran:

wprowadź opis zdjęcia tutaj

Dużo tu szukałem, ale nie mogłem znaleźć działającego rozwiązania.

Jedno rozwiązanie zasugerowało mi, że powinienem zrobić najpierw lsna różnych partycjach i zobaczyć, gdzie znajduje się plik vmliuzlub gdzie się initrdznajduje. Ale nie znalazłem gdzie te pliki.

Grałem też z jasnością mojego laptopa, co może być przyczyną tego zablokowanego ekranu.

Edycja 1:

Nadal nie mogę znaleźć katalogu zawierającego initrd.imgplik.

grub> ls 
(memdisk) (hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
grub> set pager=1
grub> ls (memdisk)/
wubuilder.cfg
grub> ls (hd0)/
error: unknown filesystem.
grub> ls (hd0,3)/
$AttrDef $BadClus $Bitmap $Boot $Extend/ $LogFile $MFT $MFTMirr $RECYCLE.BIN/ $Secure $UpCase $Volume ./ Code School/ Downloads/ Movies/ System Volume Information/ ubuntu/ wubuilder
grub> ls (hd0, 2)/
Programming Files (x86)/ Users/ $AttrDef $BadClus $Bitmap $Boot $Extend/ $LogFile $MFT $MFTMirr $RECYCLE.BIN/ $Secure $UpCase $Volume ./ Documents and Settings/ hiberfil.sys Intel/ MSOCache/ pagefile.sys PerfLogs/ Program Files/ ProgramDAta/ Recovery/ Setup/ swsetup/ System Volume Information/ Windows/ wubildr wubildr.mbr
grub> ls (hd0, 1)/
$AttrDef $BadClus $Bitmap $Boot $Extend/ $LogFile $MFT $MFTMirr $RECYCLE.BIN/ $Secure $UpCase $Volume ./ Boot/ bootmgr BOOTSECT.BAK System Volume Information/

Edycja 2:

Pamiętaj również, że zainstalowałem Ubuntu 12.04 i Windows 7. A moje Ubuntu znajduje się w następującej lokalizacji; Sprawdziłem to, uruchamiając system operacyjny Windows:

grub ls (hd0,3)/ubuntu/
install/ uninstall-wubi.exe winboot/ 
Arslan Ali
źródło
Tak, użyłem /na końcu. Ale moja Format było ls (hdx,msdosy)/, a xi ybędące liczbami. Czy powinienem to zrobić, ls /boot/aby zobaczyć, czy wymienione pliki istnieją tam, czy nie.
Arslan Ali

Odpowiedzi:

11

Jeśli zainstalowałeś bez Wubi.exe:

Po wyświetleniu grubmonitu wypróbuj następujące polecenia:

set pager=1
ls

Załóżmy teraz, że dane wyjściowe lsto (hd0) (hd0,msdos2) (hd0,msdos1):, aby znaleźć uruchomienie systemu plików root systemu Linux:

ls (hd0,1)/ które powinny dać ci wszystkie pliki / foldery, /takie jak bin/ boot/ cdrom/ dev/ etc/ home/ lib/itp.

Po wykonaniu tej czynności kontynuuj:

set root=(hd0,1)
linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1
initrd /boot/initrd.img-3.13.0-29-generic
boot

Oczywiście zamień vmlinuz-3.13.0-29-generici na initrd.img-3.13.0-29-genericto, co znajdziesz w swoim/boot

/dev/sda1to lokalizacja systemu głównego. Być może będziesz musiał to zmienić, jeśli /dev/sda1nie zadziałało.

Jeśli zainstalowałeś za pomocą Wubi.exe:

Jeśli zainstalowałeś Ubuntu za pomocą Wubi, wykonaj następujące kroki podane w WubiGuide :

  1. uruchom system Windows, uruchom chkdsk /rsystem Windows na tym samym dysku, na którym zainstalowałeś Ubuntu, zamknij system, a następnie spróbuj ponownie uruchomić system Ubuntu.

  2. jeśli nadal nie jest dobry, sprawdź, czy masz C:\ubuntu\disks\root.diskplik. Jeśli brakuje tego pliku, uruchom system Windows, otwórz Windows Explorer, ustaw, aby mógł widzieć ukryte foldery, a następnie poszukaj ukrytego folderu o nazwie C:\found.000lub dir0000.chk. Przenieś pliki z found.000 do ich oryginalnej lokalizacji w \ubuntu\diskskatalogu. Być może będziesz musiał zmienić nazwę na root.disk.

Ron
źródło
Śledziłem twoje kroki, ale /boot/jak dotąd nie mogę znaleźć . Zaktualizowałem moje pytanie, proszę przejrzyj je.
Arslan Ali
Jak zainstalowałeś Ubuntu? Czy wubi installer
Ron
Tak @Ron, zainstalowałem go za pomocą instalatora wubi. Zrobiłem to dawno temu.
Arslan Ali
O stary! W końcu zadziałało. Postępowałem zgodnie z tymi samymi instrukcjami, co napisałeś w swojej edycji, ale utworzyłem je gdzie indziej. Czy mógłbyś zmienić kolejność i przenieść ostatnie pisemne instrukcje dotyczące w \disks\root.diskgórę - to wydaje się słuszne - w ten sposób przyniesie to najwięcej korzyści, a ja przyjmuję twoją odpowiedź. Naprawdę dzięki.
Arslan Ali
Pamiętaj, że najbardziej prawdopodobną przyczyną tego problemu było wymuszenie zamknięcia systemu operacyjnego.
Arslan Ali
8

Uruchom te polecenia

grub> linux  (hd0,1)/vmlinuz root=/dev/sda1
grub> initrd  (hd0,1)/initrd.img
grub> boot

Zamień na hd0swój numer dysku twardego i / dev / sda1 na partycję zawierającą / boot głównie dafult będzie działał, jeśli nie masz więcej niż jednego dysku twardego i domyślnej instalacji

sprawdź to, aby uzyskać więcej informacji

Kiedy będziesz mógł ponownie uruchomić system, powinieneś naprawić swój problem

sudo update-grub
Maythux
źródło
Nie powinienem używać (hd0,msdos1)zamiast (hd0,1)?
Arslan Ali
Działa albo
Maythux
Niestety nie mogę znaleźć tej partycji. Dostaję: zaktualizowałem pytanie, proszę przejrzyj je.
Arslan Ali