Терминал GNU GRUB - вместо экрана входа в Ubuntu

14

Примечание: прежде чем пометить его как дубликат, пожалуйста, прочитайте вопрос полностью.

Я обычно использую Ubuntu 12.04, но сегодня, когда я включил свой ноутбук и выбрал Ubuntu из двух вариантов: Windows и Ubuntu, появился следующий экран:

введите описание изображения здесь

Я много искал здесь, но не смог найти работающего решения.

Одно из решений подсказало мне, что сначала нужно сделать lsв разных разделах и посмотреть, где находится файл vmliuzили где он initrdнаходится. Но я не нашел, где эти файлы.

Я также играл с яркостью моего ноутбука, что может быть причиной этого зависания экрана.

Изменить 1:

Я все еще не могу найти каталог, который содержит initrd.imgфайл.

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/

Изменить 2:

Также обратите внимание, что я установил Ubuntu 12.04 и Windows 7. И моя Ubuntu находится в следующем месте; Я проверил это, загрузив ОС Windows:

grub ls (hd0,3)/ubuntu/
install/ uninstall-wubi.exe winboot/ 
Арслан Али
источник
Да, я использовал /в конце. Но мой формат был ls (hdx,msdosy)/и есть xи yномера. Должен ли я сделать ls /boot/так же, чтобы увидеть, что упомянутые файлы существуют там или нет.
Арслан Али

Ответы:

11

Если вы установили без Wubi.exe:

В grubкомандной строке попробуйте эти команды:

set pager=1
ls

Теперь предположим, что вывод ls:, (hd0) (hd0,msdos2) (hd0,msdos1)чтобы найти корневую файловую систему linux, запустите:

ls (hd0,1)/ который должен дать вам все файлы / папки, /такие как bin/ boot/ cdrom/ dev/ etc/ home/ lib/и т. д.

Как только это будет сделано, перейдите к:

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

Конечно заменить vmlinuz-3.13.0-29-genericи initrd.img-3.13.0-29-genericтем, что вы найдете в вашем/boot

/dev/sda1это местоположение корневой системы. Возможно, вам придется изменить его, если /dev/sda1не работает.

Если вы установили с помощью Wubi.exe:

Если вы установили Ubuntu с помощью Wubi, выполните следующие действия, как указано в WubiGuide :

  1. загрузитесь в Windows, запустите chkdsk /rWindows на том же диске, на котором вы установили Ubuntu, аккуратно завершите работу и попробуйте снова загрузиться в Ubuntu.

  2. если все еще не хорошо, проверьте, что у вас есть C:\ubuntu\disks\root.diskфайл. Если этот файл отсутствует, загрузитесь в Windows, откройте Windows Explorer, настройте его так, чтобы он мог видеть скрытые папки, а затем найдите скрытую папку с именем C:\found.000или dir0000.chk. Переместите файлы из found.000 в их исходное местоположение в \ubuntu\disksкаталоге. Возможно, вам придется переименовать его в root.disk.

Рон
источник
Я следовал твоим шагам, но /boot/пока не могу найти . Я обновил свой вопрос, пожалуйста, просмотрите его.
Арслан Али
Как вы установили Ubuntu? Вы использовалиwubi installer
Рон
Да @ Рон, я установил его через установщик Wubi. Я сделал это давным-давно.
Арслан Али
О чувак! Это сработало наконец. Я следовал тем же инструкциям, что вы написали в своем редактировании, но сформировал где-то еще. Не могли бы вы изменить порядок и перенести последние письменные инструкции, связанные с, \disks\root.diskнаверх - что кажется правильным - таким образом это принесет большую пользу, и я приму ваш ответ. Действительно спасибо.
Арслан Али
Обратите внимание, что наиболее вероятной причиной этой проблемы было принудительное завершение работы ОС.
Арслан Али
8

Запустите эти команды

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

Замените hd0ваш номер жесткого диска и / dev / sda1 разделом, содержащим / boot, в основном dafult будет работать, если у вас нет более одного жесткого диска и с установкой по умолчанию

проверьте это для получения дополнительной информации

Когда вы можете загрузиться снова, вы должны решить свою проблему

sudo update-grub
Maythux
источник
Я не должен использовать (hd0,msdos1)вместо (hd0,1)?
Арслан Али
Это работает либо
Maythux
Извините, я не могу найти этот раздел. Что я получаю: я обновил в вопросе, пожалуйста, просмотрите его.
Арслан Али