Как я могу исправить / установить / переустановить grub?

9

Итак, я начал с жесткого диска на 250 ГБ, стандартного диска EeePC 1015pem, который я пытаюсь превратить в MintBook. Диск физически исправен, но все данные были уничтожены, включая старую ОС. Учитывая это, я подключил жесткий диск к своему рабочему столу и установил Linux Mint 16 Xfce с живого USB, созданного через Unetbootin-585. Отложите 10 ГБ для swapи 240 ГБ для ext4и /.

Теперь накопитель отказывается загружаться как для настольного компьютера, так и для нетбука. Обе материнские платы издают правильную последовательность звуковых сигналов, поэтому они кажутся здоровыми, и я могу успешно получить доступ к BIOS в обеих системах. Тем не менее, единственное, что появляется после запуска компьютера, это не отвечающая командная строка. Нет сообщения об ошибке, нет grub или grub-rescue, ничего.

Могу ли я попробовать что-нибудь кроме переформатирования и начала заново? Как мне установить загрузчик, который может загрузить мою ОС?

the.keV.nc
источник
2
Почему вы устанавливаете на рабочий стол? Почему бы не установить непосредственно на целевой нетбук? 10 Гб для свопа !? 240 для Ext4 и /? Вы установили grub на MBR диска? Вы используете UEFI? Не могли бы вы показать нам настроенную схему разбиения?
Terdon
По порядку:> Почему вы устанавливаете на рабочий стол? Почему бы не установить непосредственно на целевой нетбук? Я установил с рабочего стола, потому что у нетбука глючная реакция на живой USB. Я могу загрузить рабочий стол с USB, но когда я пытаюсь загрузить нетбук, он показывает быстро мигающий логотип Mint в течение ~ 45 минут перед выключением. > 10 ГБ на своп !? Я тоже не видел веских причин; У меня нет срочной необходимости в этом месте. > 240 для Ext4 и /? ... Это как-то плохо? Каждый найденный источник сказал «Использовать Ext4», и установщик потребовал / для раздела.
the.keV.nc
Хорошо, достаточно справедливо (хотя это может быть связано с использованием unetbootin, у меня были похожие проблемы, и он работал с USB, созданными с помощью MultiSystem, также смотрите эту ветку . Не могли бы вы также ответить на мои другие вопросы? Вы используете UEFI? Установили ли вы grub на диске и если да, то где?
Terdon
> Вы установили grub на MBR диска? Нет, у меня нет. Я думал, что установщик отредактировал MBR самостоятельно. > Вы используете UEFI? Не в моих знаниях. Нужно ли мне? > Не могли бы вы показать нам схему разделения, которую вы создали? Дай мне секунду.
the.keV.nc
1
Лично я бы старался для прямой установки на ноутбук. Установка чего-то еще просто добавляет дополнительный уровень сложности imo. Попробуйте что-то отличное от реальной установки USB. Я ничего не знаю о предложениях @ terdon, но я бы попробовал их.
Фахим Митха

Ответы:

16

Похоже, вы не установили на диск загрузчик (например, grub). Это означает, что, хотя у вас есть действующая ОС, вы не можете загрузить ее, и поэтому вы не можете ее использовать.

Вам необходимо подключить жесткий диск к работающему компьютеру (вы можете использовать live CD), настроить среду chroot и установить на нее grub.

  1. Смонтируйте раздел, который вы будете использовать как /(я назову диск /dev/sdbи /раздел sdb1, имена могут отличаться в вашей системе, вам нужно будет использовать правильные ) где-нибудь:

    sudo mount /dev/sdb1 /mnt/foo
    
  2. Привязать каталоги, которые grubдолжны иметь доступ к

    sudo mount --bind /dev /mnt/foo/dev && 
    sudo mount --bind /dev/pts /mnt/foo/dev/pts && 
    sudo mount --bind /proc /mnt/foo/proc && 
    sudo mount --bind /sys /mnt/foo/sys
    
  3. Настройте chrootсреду

    sudo chroot /mnt/foo
    
  4. Создайте конфигурационный файл grub:

    sudo grub-mkconfig -o /boot/grub/grub.cfg
    

    Если у вас установлено несколько операционных систем, убедитесь, что в приведенной выше команде перечислены все из них. Например:

    $ sudo grub-mkconfig -o /boot/grub/grub.cfg
    Generating grub.cfg ...
    Found background image: /usr/share/images/desktop-base/desktop-grub.png
    Found linux image: /boot/vmlinuz-3.10-2-amd64
    Found initrd image: /boot/initrd.img-3.10-2-amd64
    Found linux image: /boot/vmlinuz-3.2.0-4-amd64
    Found initrd image: /boot/initrd.img-3.2.0-4-amd64
    Found linux image: /boot/vmlinuz-3.2.0-3-amd64
    Found initrd image: /boot/initrd.img-3.2.0-3-amd64
    Found linux image: /boot/vmlinuz-3.2.0-2-amd64
    Found initrd image: /boot/initrd.img-3.2.0-2-amd64
    Found memtest86+ image: /boot/memtest86+.bin
    Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
    Found Windows 7 (loader) on /dev/sda2
    done
    
  5. Теперь установите grub на MBR вашего диска (не забудьте сменить /dev/sdbтот диск, на который вы хотите его установить)

    grub-install /dev/sdb
    grub-install --recheck /dev/sdb
    
  6. Выйдите из chrootи размонтируйте все, чтобы ваша работающая система вернулась в нормальное состояние:

    exit
    sudo umount /mnt/foo/dev/pts /mnt/foo/dev /mnt/foo/proc /mnt/foo/sys /mnt/foo
    
  7. Попробуйте загрузиться с диска, на этот раз у вас должно быть меню grub.

Тердон
источник
По вашему ранее предложению я сделал именно это, следуя инструкциям на nooblab.com. И это сработало! На моем рабочем столе я могу загрузить Mint из только что созданного grub. К сожалению, это не решило проблему нетбуков, так что следите за последующим постом.
the.keV.nc
@ the.keV.nc, что вы имеете в виду мое предыдущее предложение? Вы использовали что-то кроме unetbootin? Если вы выполнили процедуру, описанную в моем ответе, чтобы решить свою проблему, отметьте ее как принятую, чтобы другие могли увидеть, что это правильное решение.
Terdon
Я имею в виду, что вы спросили, был ли у меня установлен grub. Похоже, что я не сделал, поэтому я следовал инструкциям здесь, чтобы переустановить из живого загрузки Mint. Это сработало, и теперь я могу получить доступ к Mint 16, подключив жесткий диск к своему рабочему столу. Тем не менее, он все равно не будет работать на моем нетбуке, следовательно, продолжение. (И спасибо, что упомянули о маркировке, что он принят.)
the.keV.nc
Со update-grubстраницы руководства update-grub is a stub for running grub-mkconfig -o /boot/grub/grub.cfg. Так что не нужно делать grub-mkconfigи update-grub. Я думаю, что после grub-install- это правильное время (если оно имеет какое-то значение), поэтому вам, по сути, не нужен шаг 4 (хотя вы, вероятно, можете просто перевести вывод на шаг 5, поскольку он будет таким же).
Graeme
1
На самом деле, @Graeme, я update-grubвообще удалил , это вещь Debian и, как вы сказали, просто скрипт оболочки, который запускается grub-mkconfigпосле использования set -xдля отладки. Нет смысла, grub-mkconfigдолжно быть достаточно.
Terdon