Исправить загрузчик Grub после раздела [дубликат]

На этот вопрос уже есть ответ здесь:

У меня есть система с двойной загрузкой для Windows 7 и Ubuntu 12.04 .
Система использует Grub в качестве загрузчика.
Но сегодня по ошибке я уменьшил объем Windows и создал новый, и все работало нормально, за исключением того случая, когда я перезапустился и обнаружил, что загрузчик неисправен.
Отображается:

error: no such partition  
grub rescue>  

Я пробежался через Google и несколько форумов, чтобы, наконец, многое узнать.
Например:

grub rescue> ls
(hd0) (hd0,msdos5) (hd0,msdos4) (hd0,msdos3) (hd0,msdos1)  

Теперь я могу загружаться обратно в меню grub и загружаться в Ubuntu и Windows в обычном режиме, но с помощью grub-rescue как:

grub rescue> set root=(hd0,3)/boot/grub  
grub rescue> set prefix=(hd0,3)/boot/grub  
grub rescue> insmod normal  
grub rescue> normal  

Хотя это требует Grub-меню для выбора ОС, но я хочу избежать этого.
Как я могу исправить Grub , чтобы вернуть экран, как раньше? Вероятно, это требует некоторой перезагрузки в grub, которую я не могу понять.
Пожалуйста, укажите любой метод.
PS: попробуйте предложить метод, который использует обычную учетную запись пользователя, так как мне нужно приложить больше усилий для получения пароля sudo .
Спасибо.

0
задан 27 November 2013 в 05:13

1 ответ

Возможно, вам придется переустановить GRUB с помощью системы Live. Поскольку вы не предоставляете вывод ls (hd0,X), вы должны изменить его, как считаете нужным:

  1. В сеансе прямой трансляции откройте терминал, а затем введите sudo blkid. Вы получите вывод, подобный следующему:

    /dev/sda1: UUID="bf554a2f-a035-4c22-bca8-162def35a03c" TYPE="ext4" 
    /dev/sda2: UUID="3962db06-3776-4f38-8ab9-eab6feeccc1d" TYPE="ext4" 
    /dev/sdb1: UUID="AA64B45A64B42AC9" TYPE="ntfs" 
    /dev/sdb2: UUID="F66E431C6E42D551" TYPE="ntfs" 
    /dev/sdb3: UUID="75a0854b-8b6b-453f-8aec-2a081a1f19e3" TYPE="swap" 
    /dev/sdb5: UUID="279a18da-130b-46dd-8b54-84da48eb445f" TYPE="ext4" 
    /dev/sdg1: UUID="393cd35e-b827-4dea-acb5-2a66f2369dce" TYPE="ext4"
  2. Здесь вы можете видеть, что мой жесткий диск находится в sda, а мой Pendrive - sdg. Нас интересует sda. Теперь давайте посмотрим на описания разделов. Мы хотим, чтобы разделы были ext4. В моем случае у меня есть два раздела ext4. Это потому, что у меня разделены /boot (что, кажется, и ваш случай), я приму к сведению, но давайте предположим, что у вас пока нет разделенного /boot и что ваш / (root) ) является sda1. Теперь мы будем монтировать sda1.

    sudo mount /dev/sda1 /mnt
    sudo mount -o bind /proc /mnt/proc
    sudo mount -o bind /dev /mnt/dev
    sudo mount -o bind /dev/pts /mnt/dev/pts
    sudo mount -o bind /sys /mnt/sys
    

    Техническое примечание : Это минимум. Если у вас есть раздел /boot (или любой другой), разделенный таким же образом, в моем случае sudo mount /dev/sda2 /mnt/boot. Обратите внимание, что я использовал /mnt/boot , вы должны изменить его, если используете другие точки монтирования.

  3. Теперь перейдем к разделу раздела:

    sudo chroot /mnt /bin/bash
    
  4. Теперь перейдем к установке grub:

    sudo grub-install /dev/sda
    
  5. [тысяча сто двадцать девять] Готово. Теперь перезагрузитесь в вашей системе. Это должно добавить записи для Windows и Ubuntu.

0
ответ дан 27 November 2013 в 05:13

Другие вопросы по тегам:

Похожие вопросы: