Ubuntu признан os-prober, но не grub

Вы можете сделать это следующим образом:

нажмите Alt + F2, чтобы открыть поле «Запустить приложение» gksudo nautilus в текстовое поле и нажмите «Ввод». Появится диалоговое окно с паролем. Введите пароль sudo, и он откроет nautilus с привилегиями root. Оттуда вы можете перемещать / копировать файлы без какой-либо ошибки разрешения.

Примечание. Просто убедитесь, что вы не удаляете и не заменяете какие-либо системные файлы.

3
задан 13 June 2012 в 07:08

15 ответов

Вы пытались добавить «custom» menuentry для загрузки Ubuntu, отредактировав grub.cfg?

Я решил, что могу предложить это, так как даже если он не работает, возможно, это приведет к более полезное сообщение об ошибке.

  1. Загрузите свою систему, используя 12.04 LiveCD.
  2. Установите раздел sda5, на котором установлен Ubuntu. В этом примере я предполагаю, что sda5 был установлен на /mnt, используя, например, sudo mount -t ext4 /dev/sda5 /mnt.
  3. Определите, какое ядро ​​(ы) вы установили, указав содержимое каталога /mnt/boot , Эта информация вам понадобится для завершения шага (5) ниже. Примечание. Команда ниже - это один из способов сделать это.
    ls /mnt/boot/{initrd*,vmlinuz*}
    
  4. Используйте sudo для редактирования файла /mnt/boot/grub/grub.cfg (т. е. файла grub.cfg на вашем разделе sda5 Ubuntu).
  5. Найдите строки ниже в файл. Они должны быть ~ 10 строк до конца файла.
    ### BEGIN /etc/grub.d/40_custom ###
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    ### END /etc/grub.d/40_custom ###
    
    Замените вышеуказанные команды GRUB для menuentry ниже. Важно. В приведенном ниже примере вы должны заменить ?.?.?-?? в строках linux и initrd номером версии (начиная с шага (3)) ядра, которое вы хотите загрузить.
    ### BEGIN /etc/grub.d/40_custom ###
    menuentry 'Ubuntu on sda5' --class ubuntu --class gnu-linux --class gnu --class os {
      recordfail
      insmod gzio
      insmod part_msdos
      insmod ext2
      set root='(hd0,msdos5)'
      search --no-floppy --fs-uuid --set=root c35e7a0a-408c-4586-8a18-b3faa368ef3f
      linux /boot/vmlinuz-?.?.?-??-generic root=UUID=c35e7a0a-408c-4586-8a18-b3faa368ef3f ro quiet splash
      initrd    /boot/initrd.img-?.?.?-??-generic
    }
    ### END /etc/grub.d/40_custom ###
    
  6. Перезагрузитесь и посмотрите, позволяет ли эта пользовательская запись загружать Ubuntu с /dev/sda5.

Если вышеописанное предложение было выполнено, предложите попробовать следующее.

  • С помощью sudo отредактируйте файл /etc/grub.d/40_cutom и добавьте команды menuentry с шага (5) в конец файла. Таким образом, запись меню не будет потеряна, если вы запустите update-grub. Предупреждение: не удалить две строки ниже! Они должны быть в начале файла 40_custom для update-grub для правильной работы.
    #!/bin/sh
    exec tail -n +3 $0
    
  • Попробуйте еще раз переустановить GRUB, используя приведенную ниже команду. (Почему бы и нет?)
    sudo grub-install --recheck /dev/sda
    

Обновление ответа на комментарий о том, что файлы ядра отсутствуют в /boot

Я никогда не сталкивался с ситуацией где файлы ядра отсутствовали в /boot. Моя первая проблема заключалась в том, что если ваши файлы ядра отсутствуют, то с Ubuntu, установленным на sda5, может быть что-то другое.

Предлагаю вам обновить свой вопрос и его заголовок, чтобы убедиться, что в файле /boot нет файлов ядра. Это увеличивает ваши шансы получить лучший ответ от кого-то другого.

Я искал AskUnbuntu по аналогичному вопросу, но все, что я нашел, было тем, что было показано ниже. Как восстановить систему после случайного удаления всех ядер?

Лучший ответ на этот вопрос был в chroot, а затем попробуйте переустановить ядро, которое, как вы говорите, уже пробовал. Единственное изменение, которое я мог бы предложить, - это повторить попытку с помощью этих команд. (Примечание: sudo не использовался ниже, потому что, если вы chroot, вы уже являетесь root.)

apt-get update
apt-get --reinstall install linux-generic linux-image-generic linux-headers-generic
  • Примечание: если указано выше для работы, вероятно, безопаснее также запускать grub-install --recheck /dev/sda

. Справочная страница для update-initramfs также может помочь обеспечить некоторый контекст того, что происходит, когда ядро ​​" установленный ".

В ретроспективе я должен был понять, что что-то не так, прочитав сводку BootInfo. Он заканчивается выдержкой ниже.

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

               =                boot/grub/core.img                             1
               =                boot/grub/grub.cfg                             1

========= Devices which don't seem to have a corresponding hard drive: =========

sdb 

=============================== StdErr Messages: ===============================

xz: (stdin): Compressed data is corrupt
xz: (stdin): Compressed data is corrupt
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in

Но вместо ошибок выше я должен был ожидать увидеть что-то вроде выдержки из ниже резюме BootInfo, которое я создал в качестве примера .

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

  23.440826416 = 25.169395712   boot/grub/core.img                             1
  23.440864563 = 25.169436672   boot/grub/grub.cfg                             1
  18.791522980 = 20.177244160   boot/initrd.img-3.2.0-23-generic               1
  25.439197540 = 27.315130368   boot/vmlinuz-3.2.0-23-generic                  1
  18.791522980 = 20.177244160   initrd.img                                     1
  25.439197540 = 27.315130368   vmlinuz                                        1


ADDITIONAL INFORMATION :
=================== log of boot-repair 2012-06-13__16h58 ===================
boot-repair version : 3.18-0ppa25~precise
boot-sav version : 3.19-0ppa14~precise
glade2script version : 0.3.2.1-0ppa7~precise
boot-repair is executed in live-session (Ubuntu 12.04 LTS , precise , Ubuntu , x86_64)

=================== OSPROBER:
/dev/sda1:Windows 7 (loader):Windows:chain
/dev/sda5:Ubuntu 12.04 LTS (12.04):Ubuntu:linux

... et cetera ....

2
ответ дан 25 July 2018 в 18:32

Вы пытались добавить «custom» menuentry для загрузки Ubuntu, отредактировав grub.cfg?

Я решил, что могу предложить это, так как даже если он не работает, возможно, это приведет к более полезное сообщение об ошибке.

  1. Загрузите свою систему, используя 12.04 LiveCD.
  2. Установите раздел sda5, на котором установлен Ubuntu. В этом примере я предполагаю, что sda5 был установлен на /mnt, используя, например, sudo mount -t ext4 /dev/sda5 /mnt.
  3. Определите, какое ядро ​​(ы) вы установили, указав содержимое каталога /mnt/boot , Эта информация вам понадобится для завершения шага (5) ниже. Примечание. Команда ниже - это один из способов сделать это.
    ls /mnt/boot/{initrd*,vmlinuz*}
    
  4. Используйте sudo для редактирования файла /mnt/boot/grub/grub.cfg (т. е. файла grub.cfg на вашем разделе sda5 Ubuntu).
  5. Найдите строки ниже в файл. Они должны быть ~ 10 строк до конца файла.
    ### BEGIN /etc/grub.d/40_custom ###
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    ### END /etc/grub.d/40_custom ###
    
    Замените вышеуказанные команды GRUB для menuentry ниже. Важно. В приведенном ниже примере вы должны заменить ?.?.?-?? в строках linux и initrd номером версии (начиная с шага (3)) ядра, которое вы хотите загрузить.
    ### BEGIN /etc/grub.d/40_custom ###
    menuentry 'Ubuntu on sda5' --class ubuntu --class gnu-linux --class gnu --class os {
      recordfail
      insmod gzio
      insmod part_msdos
      insmod ext2
      set root='(hd0,msdos5)'
      search --no-floppy --fs-uuid --set=root c35e7a0a-408c-4586-8a18-b3faa368ef3f
      linux /boot/vmlinuz-?.?.?-??-generic root=UUID=c35e7a0a-408c-4586-8a18-b3faa368ef3f ro quiet splash
      initrd    /boot/initrd.img-?.?.?-??-generic
    }
    ### END /etc/grub.d/40_custom ###
    
  6. Перезагрузитесь и посмотрите, позволяет ли эта пользовательская запись загружать Ubuntu с /dev/sda5.

Если вышеописанное предложение было выполнено, предложите попробовать следующее.

  • С помощью sudo отредактируйте файл /etc/grub.d/40_cutom и добавьте команды menuentry с шага (5) в конец файла. Таким образом, запись меню не будет потеряна, если вы запустите update-grub. Предупреждение: не удалить две строки ниже! Они должны быть в начале файла 40_custom для update-grub для правильной работы.
    #!/bin/sh
    exec tail -n +3 $0
    
  • Попробуйте еще раз переустановить GRUB, используя приведенную ниже команду. (Почему бы и нет?)
    sudo grub-install --recheck /dev/sda
    

Обновление ответа на комментарий о том, что файлы ядра отсутствуют в /boot

Я никогда не сталкивался с ситуацией где файлы ядра отсутствовали в /boot. Моя первая проблема заключалась в том, что если ваши файлы ядра отсутствуют, то с Ubuntu, установленным на sda5, может быть что-то другое.

Предлагаю вам обновить свой вопрос и его заголовок, чтобы убедиться, что в файле /boot нет файлов ядра. Это увеличивает ваши шансы получить лучший ответ от кого-то другого.

Я искал AskUnbuntu по аналогичному вопросу, но все, что я нашел, было тем, что было показано ниже. Как восстановить систему после случайного удаления всех ядер?

Лучший ответ на этот вопрос был в chroot, а затем попробуйте переустановить ядро, которое, как вы говорите, уже пробовал. Единственное изменение, которое я мог бы предложить, - это повторить попытку с помощью этих команд. (Примечание: sudo не использовался ниже, потому что, если вы chroot, вы уже являетесь root.)

apt-get update
apt-get --reinstall install linux-generic linux-image-generic linux-headers-generic
  • Примечание: если указано выше для работы, вероятно, безопаснее также запускать grub-install --recheck /dev/sda

. Справочная страница для update-initramfs также может помочь обеспечить некоторый контекст того, что происходит, когда ядро ​​" установленный ".

В ретроспективе я должен был понять, что что-то не так, прочитав сводку BootInfo. Он заканчивается выдержкой ниже.

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

               =                boot/grub/core.img                             1
               =                boot/grub/grub.cfg                             1

========= Devices which don't seem to have a corresponding hard drive: =========

sdb 

=============================== StdErr Messages: ===============================

xz: (stdin): Compressed data is corrupt
xz: (stdin): Compressed data is corrupt
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in

Но вместо ошибок выше я должен был ожидать увидеть что-то вроде выдержки из ниже резюме BootInfo, которое я создал в качестве примера .

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

  23.440826416 = 25.169395712   boot/grub/core.img                             1
  23.440864563 = 25.169436672   boot/grub/grub.cfg                             1
  18.791522980 = 20.177244160   boot/initrd.img-3.2.0-23-generic               1
  25.439197540 = 27.315130368   boot/vmlinuz-3.2.0-23-generic                  1
  18.791522980 = 20.177244160   initrd.img                                     1
  25.439197540 = 27.315130368   vmlinuz                                        1


ADDITIONAL INFORMATION :
=================== log of boot-repair 2012-06-13__16h58 ===================
boot-repair version : 3.18-0ppa25~precise
boot-sav version : 3.19-0ppa14~precise
glade2script version : 0.3.2.1-0ppa7~precise
boot-repair is executed in live-session (Ubuntu 12.04 LTS , precise , Ubuntu , x86_64)

=================== OSPROBER:
/dev/sda1:Windows 7 (loader):Windows:chain
/dev/sda5:Ubuntu 12.04 LTS (12.04):Ubuntu:linux

... et cetera ....

2
ответ дан 2 August 2018 в 00:43

Вы пытались добавить «custom» menuentry для загрузки Ubuntu, отредактировав grub.cfg?

Я решил, что могу предложить это, так как даже если он не работает, возможно, это приведет к более полезное сообщение об ошибке.

  1. Загрузите свою систему, используя 12.04 LiveCD.
  2. Установите раздел sda5, на котором установлен Ubuntu. В этом примере я предполагаю, что sda5 был установлен на /mnt, используя, например, sudo mount -t ext4 /dev/sda5 /mnt.
  3. Определите, какое ядро ​​(ы) вы установили, указав содержимое каталога /mnt/boot , Эта информация вам понадобится для завершения шага (5) ниже. Примечание. Команда ниже - это один из способов сделать это.
    ls /mnt/boot/{initrd*,vmlinuz*}
    
  4. Используйте sudo для редактирования файла /mnt/boot/grub/grub.cfg (т. е. файла grub.cfg на вашем разделе sda5 Ubuntu).
  5. Найдите строки ниже в файл. Они должны быть ~ 10 строк до конца файла.
    ### BEGIN /etc/grub.d/40_custom ###
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    ### END /etc/grub.d/40_custom ###
    
    Замените вышеуказанные команды GRUB для menuentry ниже. Важно. В приведенном ниже примере вы должны заменить ?.?.?-?? в строках linux и initrd номером версии (начиная с шага (3)) ядра, которое вы хотите загрузить.
    ### BEGIN /etc/grub.d/40_custom ###
    menuentry 'Ubuntu on sda5' --class ubuntu --class gnu-linux --class gnu --class os {
      recordfail
      insmod gzio
      insmod part_msdos
      insmod ext2
      set root='(hd0,msdos5)'
      search --no-floppy --fs-uuid --set=root c35e7a0a-408c-4586-8a18-b3faa368ef3f
      linux /boot/vmlinuz-?.?.?-??-generic root=UUID=c35e7a0a-408c-4586-8a18-b3faa368ef3f ro quiet splash
      initrd    /boot/initrd.img-?.?.?-??-generic
    }
    ### END /etc/grub.d/40_custom ###
    
  6. Перезагрузитесь и посмотрите, позволяет ли эта пользовательская запись загружать Ubuntu с /dev/sda5.

Если вышеописанное предложение было выполнено, предложите попробовать следующее.

  • С помощью sudo отредактируйте файл /etc/grub.d/40_cutom и добавьте команды menuentry с шага (5) в конец файла. Таким образом, запись меню не будет потеряна, если вы запустите update-grub. Предупреждение: не удалить две строки ниже! Они должны быть в начале файла 40_custom для update-grub для правильной работы.
    #!/bin/sh
    exec tail -n +3 $0
    
  • Попробуйте еще раз переустановить GRUB, используя приведенную ниже команду. (Почему бы и нет?)
    sudo grub-install --recheck /dev/sda
    

Обновление ответа на комментарий о том, что файлы ядра отсутствуют в /boot

Я никогда не сталкивался с ситуацией где файлы ядра отсутствовали в /boot. Моя первая проблема заключалась в том, что если ваши файлы ядра отсутствуют, то с Ubuntu, установленным на sda5, может быть что-то другое.

Предлагаю вам обновить свой вопрос и его заголовок, чтобы убедиться, что в файле /boot нет файлов ядра. Это увеличивает ваши шансы получить лучший ответ от кого-то другого.

Я искал AskUnbuntu по аналогичному вопросу, но все, что я нашел, было тем, что было показано ниже. Как восстановить систему после случайного удаления всех ядер?

Лучший ответ на этот вопрос был в chroot, а затем попробуйте переустановить ядро, которое, как вы говорите, уже пробовал. Единственное изменение, которое я мог бы предложить, - это повторить попытку с помощью этих команд. (Примечание: sudo не использовался ниже, потому что, если вы chroot, вы уже являетесь root.)

apt-get update
apt-get --reinstall install linux-generic linux-image-generic linux-headers-generic
  • Примечание: если указано выше для работы, вероятно, безопаснее также запускать grub-install --recheck /dev/sda

. Справочная страница для update-initramfs также может помочь обеспечить некоторый контекст того, что происходит, когда ядро ​​" установленный ".

В ретроспективе я должен был понять, что что-то не так, прочитав сводку BootInfo. Он заканчивается выдержкой ниже.

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

               =                boot/grub/core.img                             1
               =                boot/grub/grub.cfg                             1

========= Devices which don't seem to have a corresponding hard drive: =========

sdb 

=============================== StdErr Messages: ===============================

xz: (stdin): Compressed data is corrupt
xz: (stdin): Compressed data is corrupt
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in

Но вместо ошибок выше я должен был ожидать увидеть что-то вроде выдержки из ниже резюме BootInfo, которое я создал в качестве примера .

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

  23.440826416 = 25.169395712   boot/grub/core.img                             1
  23.440864563 = 25.169436672   boot/grub/grub.cfg                             1
  18.791522980 = 20.177244160   boot/initrd.img-3.2.0-23-generic               1
  25.439197540 = 27.315130368   boot/vmlinuz-3.2.0-23-generic                  1
  18.791522980 = 20.177244160   initrd.img                                     1
  25.439197540 = 27.315130368   vmlinuz                                        1


ADDITIONAL INFORMATION :
=================== log of boot-repair 2012-06-13__16h58 ===================
boot-repair version : 3.18-0ppa25~precise
boot-sav version : 3.19-0ppa14~precise
glade2script version : 0.3.2.1-0ppa7~precise
boot-repair is executed in live-session (Ubuntu 12.04 LTS , precise , Ubuntu , x86_64)

=================== OSPROBER:
/dev/sda1:Windows 7 (loader):Windows:chain
/dev/sda5:Ubuntu 12.04 LTS (12.04):Ubuntu:linux

... et cetera ....

2
ответ дан 4 August 2018 в 16:13

Вы пытались добавить «custom» menuentry для загрузки Ubuntu, отредактировав grub.cfg?

Я решил, что могу предложить это, так как даже если он не работает, возможно, это приведет к более полезное сообщение об ошибке.

  1. Загрузите свою систему, используя 12.04 LiveCD.
  2. Установите раздел sda5, на котором установлен Ubuntu. В этом примере я предполагаю, что sda5 был установлен на /mnt, используя, например, sudo mount -t ext4 /dev/sda5 /mnt.
  3. Определите, какое ядро ​​(ы) вы установили, указав содержимое каталога /mnt/boot , Эта информация вам понадобится для завершения шага (5) ниже. Примечание. Команда ниже - это один из способов сделать это.
    ls /mnt/boot/{initrd*,vmlinuz*}
    
  4. Используйте sudo для редактирования файла /mnt/boot/grub/grub.cfg (т. е. файла grub.cfg на вашем разделе sda5 Ubuntu).
  5. Найдите строки ниже в файл. Они должны быть ~ 10 строк до конца файла.
    ### BEGIN /etc/grub.d/40_custom ###
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    ### END /etc/grub.d/40_custom ###
    
    Замените вышеуказанные команды GRUB для menuentry ниже. Важно. В приведенном ниже примере вы должны заменить ?.?.?-?? в строках linux и initrd номером версии (начиная с шага (3)) ядра, которое вы хотите загрузить.
    ### BEGIN /etc/grub.d/40_custom ###
    menuentry 'Ubuntu on sda5' --class ubuntu --class gnu-linux --class gnu --class os {
      recordfail
      insmod gzio
      insmod part_msdos
      insmod ext2
      set root='(hd0,msdos5)'
      search --no-floppy --fs-uuid --set=root c35e7a0a-408c-4586-8a18-b3faa368ef3f
      linux /boot/vmlinuz-?.?.?-??-generic root=UUID=c35e7a0a-408c-4586-8a18-b3faa368ef3f ro quiet splash
      initrd    /boot/initrd.img-?.?.?-??-generic
    }
    ### END /etc/grub.d/40_custom ###
    
  6. Перезагрузитесь и посмотрите, позволяет ли эта пользовательская запись загружать Ubuntu с /dev/sda5.

Если вышеописанное предложение было выполнено, предложите попробовать следующее.

  • С помощью sudo отредактируйте файл /etc/grub.d/40_cutom и добавьте команды menuentry с шага (5) в конец файла. Таким образом, запись меню не будет потеряна, если вы запустите update-grub. Предупреждение: не удалить две строки ниже! Они должны быть в начале файла 40_custom для update-grub для правильной работы.
    #!/bin/sh
    exec tail -n +3 $0
    
  • Попробуйте еще раз переустановить GRUB, используя приведенную ниже команду. (Почему бы и нет?)
    sudo grub-install --recheck /dev/sda
    

Обновление ответа на комментарий о том, что файлы ядра отсутствуют в /boot

Я никогда не сталкивался с ситуацией где файлы ядра отсутствовали в /boot. Моя первая проблема заключалась в том, что если ваши файлы ядра отсутствуют, то с Ubuntu, установленным на sda5, может быть что-то другое.

Предлагаю вам обновить свой вопрос и его заголовок, чтобы убедиться, что в файле /boot нет файлов ядра. Это увеличивает ваши шансы получить лучший ответ от кого-то другого.

Я искал AskUnbuntu по аналогичному вопросу, но все, что я нашел, было тем, что было показано ниже. Как восстановить систему после случайного удаления всех ядер?

Лучший ответ на этот вопрос был в chroot, а затем попробуйте переустановить ядро, которое, как вы говорите, уже пробовал. Единственное изменение, которое я мог бы предложить, - это повторить попытку с помощью этих команд. (Примечание: sudo не использовался ниже, потому что, если вы chroot, вы уже являетесь root.)

apt-get update
apt-get --reinstall install linux-generic linux-image-generic linux-headers-generic
  • Примечание: если указано выше для работы, вероятно, безопаснее также запускать grub-install --recheck /dev/sda

. Справочная страница для update-initramfs также может помочь обеспечить некоторый контекст того, что происходит, когда ядро ​​" установленный ".

В ретроспективе я должен был понять, что что-то не так, прочитав сводку BootInfo. Он заканчивается выдержкой ниже.

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

               =                boot/grub/core.img                             1
               =                boot/grub/grub.cfg                             1

========= Devices which don't seem to have a corresponding hard drive: =========

sdb 

=============================== StdErr Messages: ===============================

xz: (stdin): Compressed data is corrupt
xz: (stdin): Compressed data is corrupt
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in

Но вместо ошибок выше я должен был ожидать увидеть что-то вроде выдержки из ниже резюме BootInfo, которое я создал в качестве примера .

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

  23.440826416 = 25.169395712   boot/grub/core.img                             1
  23.440864563 = 25.169436672   boot/grub/grub.cfg                             1
  18.791522980 = 20.177244160   boot/initrd.img-3.2.0-23-generic               1
  25.439197540 = 27.315130368   boot/vmlinuz-3.2.0-23-generic                  1
  18.791522980 = 20.177244160   initrd.img                                     1
  25.439197540 = 27.315130368   vmlinuz                                        1


ADDITIONAL INFORMATION :
=================== log of boot-repair 2012-06-13__16h58 ===================
boot-repair version : 3.18-0ppa25~precise
boot-sav version : 3.19-0ppa14~precise
glade2script version : 0.3.2.1-0ppa7~precise
boot-repair is executed in live-session (Ubuntu 12.04 LTS , precise , Ubuntu , x86_64)

=================== OSPROBER:
/dev/sda1:Windows 7 (loader):Windows:chain
/dev/sda5:Ubuntu 12.04 LTS (12.04):Ubuntu:linux

... et cetera ....

2
ответ дан 6 August 2018 в 00:51

Вы пытались добавить «custom» menuentry для загрузки Ubuntu, отредактировав grub.cfg?

Я решил, что могу предложить это, так как даже если он не работает, возможно, это приведет к более полезное сообщение об ошибке.

  1. Загрузите свою систему, используя 12.04 LiveCD.
  2. Установите раздел sda5, на котором установлен Ubuntu. В этом примере я предполагаю, что sda5 был установлен на /mnt, используя, например, sudo mount -t ext4 /dev/sda5 /mnt.
  3. Определите, какое ядро ​​(ы) вы установили, указав содержимое каталога /mnt/boot , Эта информация вам понадобится для завершения шага (5) ниже. Примечание. Команда ниже - это один из способов сделать это.
    ls /mnt/boot/{initrd*,vmlinuz*}
    
  4. Используйте sudo для редактирования файла /mnt/boot/grub/grub.cfg (т. е. файла grub.cfg на вашем разделе sda5 Ubuntu).
  5. Найдите строки ниже в файл. Они должны быть ~ 10 строк до конца файла.
    ### BEGIN /etc/grub.d/40_custom ###
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    ### END /etc/grub.d/40_custom ###
    
    Замените вышеуказанные команды GRUB для menuentry ниже. Важно. В приведенном ниже примере вы должны заменить ?.?.?-?? в строках linux и initrd номером версии (начиная с шага (3)) ядра, которое вы хотите загрузить.
    ### BEGIN /etc/grub.d/40_custom ###
    menuentry 'Ubuntu on sda5' --class ubuntu --class gnu-linux --class gnu --class os {
      recordfail
      insmod gzio
      insmod part_msdos
      insmod ext2
      set root='(hd0,msdos5)'
      search --no-floppy --fs-uuid --set=root c35e7a0a-408c-4586-8a18-b3faa368ef3f
      linux /boot/vmlinuz-?.?.?-??-generic root=UUID=c35e7a0a-408c-4586-8a18-b3faa368ef3f ro quiet splash
      initrd    /boot/initrd.img-?.?.?-??-generic
    }
    ### END /etc/grub.d/40_custom ###
    
  6. Перезагрузитесь и посмотрите, позволяет ли эта пользовательская запись загружать Ubuntu с /dev/sda5.

Если вышеописанное предложение было выполнено, предложите попробовать следующее.

  • С помощью sudo отредактируйте файл /etc/grub.d/40_cutom и добавьте команды menuentry с шага (5) в конец файла. Таким образом, запись меню не будет потеряна, если вы запустите update-grub. Предупреждение: не удалить две строки ниже! Они должны быть в начале файла 40_custom для update-grub для правильной работы.
    #!/bin/sh
    exec tail -n +3 $0
    
  • Попробуйте еще раз переустановить GRUB, используя приведенную ниже команду. (Почему бы и нет?)
    sudo grub-install --recheck /dev/sda
    

Обновление ответа на комментарий о том, что файлы ядра отсутствуют в /boot

Я никогда не сталкивался с ситуацией где файлы ядра отсутствовали в /boot. Моя первая проблема заключалась в том, что если ваши файлы ядра отсутствуют, то с Ubuntu, установленным на sda5, может быть что-то другое.

Предлагаю вам обновить свой вопрос и его заголовок, чтобы убедиться, что в файле /boot нет файлов ядра. Это увеличивает ваши шансы получить лучший ответ от кого-то другого.

Я искал AskUnbuntu по аналогичному вопросу, но все, что я нашел, было тем, что было показано ниже. Как восстановить систему после случайного удаления всех ядер?

Лучший ответ на этот вопрос был в chroot, а затем попробуйте переустановить ядро, которое, как вы говорите, уже пробовал. Единственное изменение, которое я мог бы предложить, - это повторить попытку с помощью этих команд. (Примечание: sudo не использовался ниже, потому что, если вы chroot, вы уже являетесь root.)

apt-get update
apt-get --reinstall install linux-generic linux-image-generic linux-headers-generic
  • Примечание: если указано выше для работы, вероятно, безопаснее также запускать grub-install --recheck /dev/sda

. Справочная страница для update-initramfs также может помочь обеспечить некоторый контекст того, что происходит, когда ядро ​​" установленный ".

В ретроспективе я должен был понять, что что-то не так, прочитав сводку BootInfo. Он заканчивается выдержкой ниже.

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

               =                boot/grub/core.img                             1
               =                boot/grub/grub.cfg                             1

========= Devices which don't seem to have a corresponding hard drive: =========

sdb 

=============================== StdErr Messages: ===============================

xz: (stdin): Compressed data is corrupt
xz: (stdin): Compressed data is corrupt
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in

Но вместо ошибок выше я должен был ожидать увидеть что-то вроде выдержки из ниже резюме BootInfo, которое я создал в качестве примера .

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

  23.440826416 = 25.169395712   boot/grub/core.img                             1
  23.440864563 = 25.169436672   boot/grub/grub.cfg                             1
  18.791522980 = 20.177244160   boot/initrd.img-3.2.0-23-generic               1
  25.439197540 = 27.315130368   boot/vmlinuz-3.2.0-23-generic                  1
  18.791522980 = 20.177244160   initrd.img                                     1
  25.439197540 = 27.315130368   vmlinuz                                        1


ADDITIONAL INFORMATION :
=================== log of boot-repair 2012-06-13__16h58 ===================
boot-repair version : 3.18-0ppa25~precise
boot-sav version : 3.19-0ppa14~precise
glade2script version : 0.3.2.1-0ppa7~precise
boot-repair is executed in live-session (Ubuntu 12.04 LTS , precise , Ubuntu , x86_64)

=================== OSPROBER:
/dev/sda1:Windows 7 (loader):Windows:chain
/dev/sda5:Ubuntu 12.04 LTS (12.04):Ubuntu:linux

... et cetera ....

2
ответ дан 7 August 2018 в 18:16

Вы пытались добавить «custom» menuentry для загрузки Ubuntu, отредактировав grub.cfg?

Я решил, что могу предложить это, так как даже если он не работает, возможно, это приведет к более полезное сообщение об ошибке.

  1. Загрузите свою систему, используя 12.04 LiveCD.
  2. Установите раздел sda5, на котором установлен Ubuntu. В этом примере я предполагаю, что sda5 был установлен на /mnt, используя, например, sudo mount -t ext4 /dev/sda5 /mnt.
  3. Определите, какое ядро ​​(ы) вы установили, указав содержимое каталога /mnt/boot , Эта информация вам понадобится для завершения шага (5) ниже. Примечание. Команда ниже - это один из способов сделать это.
    ls /mnt/boot/{initrd*,vmlinuz*}
    
  4. Используйте sudo для редактирования файла /mnt/boot/grub/grub.cfg (т. е. файла grub.cfg на вашем разделе sda5 Ubuntu).
  5. Найдите строки ниже в файл. Они должны быть ~ 10 строк до конца файла.
    ### BEGIN /etc/grub.d/40_custom ###
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    ### END /etc/grub.d/40_custom ###
    
    Замените вышеуказанные команды GRUB для menuentry ниже. Важно. В приведенном ниже примере вы должны заменить ?.?.?-?? в строках linux и initrd номером версии (начиная с шага (3)) ядра, которое вы хотите загрузить.
    ### BEGIN /etc/grub.d/40_custom ###
    menuentry 'Ubuntu on sda5' --class ubuntu --class gnu-linux --class gnu --class os {
      recordfail
      insmod gzio
      insmod part_msdos
      insmod ext2
      set root='(hd0,msdos5)'
      search --no-floppy --fs-uuid --set=root c35e7a0a-408c-4586-8a18-b3faa368ef3f
      linux /boot/vmlinuz-?.?.?-??-generic root=UUID=c35e7a0a-408c-4586-8a18-b3faa368ef3f ro quiet splash
      initrd    /boot/initrd.img-?.?.?-??-generic
    }
    ### END /etc/grub.d/40_custom ###
    
  6. Перезагрузитесь и посмотрите, позволяет ли эта пользовательская запись загружать Ubuntu с /dev/sda5.

Если вышеописанное предложение было выполнено, предложите попробовать следующее.

  • С помощью sudo отредактируйте файл /etc/grub.d/40_cutom и добавьте команды menuentry с шага (5) в конец файла. Таким образом, запись меню не будет потеряна, если вы запустите update-grub. Предупреждение: не удалить две строки ниже! Они должны быть в начале файла 40_custom для update-grub для правильной работы.
    #!/bin/sh
    exec tail -n +3 $0
    
  • Попробуйте еще раз переустановить GRUB, используя приведенную ниже команду. (Почему бы и нет?)
    sudo grub-install --recheck /dev/sda
    

Обновление ответа на комментарий о том, что файлы ядра отсутствуют в /boot

Я никогда не сталкивался с ситуацией где файлы ядра отсутствовали в /boot. Моя первая проблема заключалась в том, что если ваши файлы ядра отсутствуют, то с Ubuntu, установленным на sda5, может быть что-то другое.

Предлагаю вам обновить свой вопрос и его заголовок, чтобы убедиться, что в файле /boot нет файлов ядра. Это увеличивает ваши шансы получить лучший ответ от кого-то другого.

Я искал AskUnbuntu по аналогичному вопросу, но все, что я нашел, было тем, что было показано ниже. Как восстановить систему после случайного удаления всех ядер?

Лучший ответ на этот вопрос был в chroot, а затем попробуйте переустановить ядро, которое, как вы говорите, уже пробовал. Единственное изменение, которое я мог бы предложить, - это повторить попытку с помощью этих команд. (Примечание: sudo не использовался ниже, потому что, если вы chroot, вы уже являетесь root.)

apt-get update
apt-get --reinstall install linux-generic linux-image-generic linux-headers-generic
  • Примечание: если указано выше для работы, вероятно, безопаснее также запускать grub-install --recheck /dev/sda

. Справочная страница для update-initramfs также может помочь обеспечить некоторый контекст того, что происходит, когда ядро ​​" установленный ".

В ретроспективе я должен был понять, что что-то не так, прочитав сводку BootInfo. Он заканчивается выдержкой ниже.

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

               =                boot/grub/core.img                             1
               =                boot/grub/grub.cfg                             1

========= Devices which don't seem to have a corresponding hard drive: =========

sdb 

=============================== StdErr Messages: ===============================

xz: (stdin): Compressed data is corrupt
xz: (stdin): Compressed data is corrupt
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in

Но вместо ошибок выше я должен был ожидать увидеть что-то вроде выдержки из ниже резюме BootInfo, которое я создал в качестве примера .

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

  23.440826416 = 25.169395712   boot/grub/core.img                             1
  23.440864563 = 25.169436672   boot/grub/grub.cfg                             1
  18.791522980 = 20.177244160   boot/initrd.img-3.2.0-23-generic               1
  25.439197540 = 27.315130368   boot/vmlinuz-3.2.0-23-generic                  1
  18.791522980 = 20.177244160   initrd.img                                     1
  25.439197540 = 27.315130368   vmlinuz                                        1


ADDITIONAL INFORMATION :
=================== log of boot-repair 2012-06-13__16h58 ===================
boot-repair version : 3.18-0ppa25~precise
boot-sav version : 3.19-0ppa14~precise
glade2script version : 0.3.2.1-0ppa7~precise
boot-repair is executed in live-session (Ubuntu 12.04 LTS , precise , Ubuntu , x86_64)

=================== OSPROBER:
/dev/sda1:Windows 7 (loader):Windows:chain
/dev/sda5:Ubuntu 12.04 LTS (12.04):Ubuntu:linux

... et cetera ....

2
ответ дан 10 August 2018 в 07:01

Вы пытались добавить «custom» menuentry для загрузки Ubuntu, отредактировав grub.cfg?

Я решил, что могу предложить это, так как даже если он не работает, возможно, это приведет к более полезное сообщение об ошибке.

  1. Загрузите свою систему, используя 12.04 LiveCD.
  2. Установите раздел sda5, на котором установлен Ubuntu. В этом примере я предполагаю, что sda5 был установлен на /mnt, используя, например, sudo mount -t ext4 /dev/sda5 /mnt.
  3. Определите, какое ядро ​​(ы) вы установили, указав содержимое каталога /mnt/boot , Эта информация вам понадобится для завершения шага (5) ниже. Примечание. Команда ниже - это один из способов сделать это.
    ls /mnt/boot/{initrd*,vmlinuz*}
    
  4. Используйте sudo для редактирования файла /mnt/boot/grub/grub.cfg (т. е. файла grub.cfg на вашем разделе sda5 Ubuntu).
  5. Найдите строки ниже в файл. Они должны быть ~ 10 строк до конца файла.
    ### BEGIN /etc/grub.d/40_custom ###
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    ### END /etc/grub.d/40_custom ###
    
    Замените вышеуказанные команды GRUB для menuentry ниже. Важно. В приведенном ниже примере вы должны заменить ?.?.?-?? в строках linux и initrd номером версии (начиная с шага (3)) ядра, которое вы хотите загрузить.
    ### BEGIN /etc/grub.d/40_custom ###
    menuentry 'Ubuntu on sda5' --class ubuntu --class gnu-linux --class gnu --class os {
      recordfail
      insmod gzio
      insmod part_msdos
      insmod ext2
      set root='(hd0,msdos5)'
      search --no-floppy --fs-uuid --set=root c35e7a0a-408c-4586-8a18-b3faa368ef3f
      linux /boot/vmlinuz-?.?.?-??-generic root=UUID=c35e7a0a-408c-4586-8a18-b3faa368ef3f ro quiet splash
      initrd    /boot/initrd.img-?.?.?-??-generic
    }
    ### END /etc/grub.d/40_custom ###
    
  6. Перезагрузитесь и посмотрите, позволяет ли эта пользовательская запись загружать Ubuntu с /dev/sda5.

Если вышеописанное предложение было выполнено, предложите попробовать следующее.

  • С помощью sudo отредактируйте файл /etc/grub.d/40_cutom и добавьте команды menuentry с шага (5) в конец файла. Таким образом, запись меню не будет потеряна, если вы запустите update-grub. Предупреждение: не удалить две строки ниже! Они должны быть в начале файла 40_custom для update-grub для правильной работы.
    #!/bin/sh
    exec tail -n +3 $0
    
  • Попробуйте еще раз переустановить GRUB, используя приведенную ниже команду. (Почему бы и нет?)
    sudo grub-install --recheck /dev/sda
    

Обновление ответа на комментарий о том, что файлы ядра отсутствуют в /boot

Я никогда не сталкивался с ситуацией где файлы ядра отсутствовали в /boot. Моя первая проблема заключалась в том, что если ваши файлы ядра отсутствуют, то с Ubuntu, установленным на sda5, может быть что-то другое.

Предлагаю вам обновить свой вопрос и его заголовок, чтобы убедиться, что в файле /boot нет файлов ядра. Это увеличивает ваши шансы получить лучший ответ от кого-то другого.

Я искал AskUnbuntu по аналогичному вопросу, но все, что я нашел, было тем, что было показано ниже. Как восстановить систему после случайного удаления всех ядер?

Лучший ответ на этот вопрос был в chroot, а затем попробуйте переустановить ядро, которое, как вы говорите, уже пробовал. Единственное изменение, которое я мог бы предложить, - это повторить попытку с помощью этих команд. (Примечание: sudo не использовался ниже, потому что, если вы chroot, вы уже являетесь root.)

apt-get update
apt-get --reinstall install linux-generic linux-image-generic linux-headers-generic
  • Примечание: если указано выше для работы, вероятно, безопаснее также запускать grub-install --recheck /dev/sda

. Справочная страница для update-initramfs также может помочь обеспечить некоторый контекст того, что происходит, когда ядро ​​" установленный ".

В ретроспективе я должен был понять, что что-то не так, прочитав сводку BootInfo. Он заканчивается выдержкой ниже.

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

               =                boot/grub/core.img                             1
               =                boot/grub/grub.cfg                             1

========= Devices which don't seem to have a corresponding hard drive: =========

sdb 

=============================== StdErr Messages: ===============================

xz: (stdin): Compressed data is corrupt
xz: (stdin): Compressed data is corrupt
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in

Но вместо ошибок выше я должен был ожидать увидеть что-то вроде выдержки из ниже резюме BootInfo, которое я создал в качестве примера .

=================== sda5: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

  23.440826416 = 25.169395712   boot/grub/core.img                             1
  23.440864563 = 25.169436672   boot/grub/grub.cfg                             1
  18.791522980 = 20.177244160   boot/initrd.img-3.2.0-23-generic               1
  25.439197540 = 27.315130368   boot/vmlinuz-3.2.0-23-generic                  1
  18.791522980 = 20.177244160   initrd.img                                     1
  25.439197540 = 27.315130368   vmlinuz                                        1


ADDITIONAL INFORMATION :
=================== log of boot-repair 2012-06-13__16h58 ===================
boot-repair version : 3.18-0ppa25~precise
boot-sav version : 3.19-0ppa14~precise
glade2script version : 0.3.2.1-0ppa7~precise
boot-repair is executed in live-session (Ubuntu 12.04 LTS , precise , Ubuntu , x86_64)

=================== OSPROBER:
/dev/sda1:Windows 7 (loader):Windows:chain
/dev/sda5:Ubuntu 12.04 LTS (12.04):Ubuntu:linux

... et cetera ....

2
ответ дан 15 August 2018 в 18:59
  • 1
    Спасибо, это выглядит многообещающе ... но когда я запускаю шаг (3), он говорит, что таких файлов не существует. Действительно, ls / mnt / boot / возвращает только «grub» в качестве вывода. Я попробовал apt-get remove и apt-get install, а также apt-get install - установить «linux-image» (после chroot-ing и установки необходимых / proc, / sys и т. Д.). Однако ls boot показывает в папке по-прежнему нет соответствующих файлов ядра. Я подозреваю, что это реальная основная проблема; если вы могли бы помочь мне получить эти файлы, чтобы они действительно отображались после того, как они утверждают, что они установлены, я думаю, что update-grub будет работать. – msolters 13 June 2012 в 18:33
  • 2
    Обновление: мне удалось установить initrd-3.2.0.24-generic, но, к сожалению, у меня все еще нет файла vmlinuz. Поэтому, когда я добавляю вашу запись в меню и загружаю ее, Ubuntu просто говорит «ошибка: файл не найден» и «ошибка: вам нужно сначала загрузить ядро». – msolters 13 June 2012 в 19:10

Запустить Boot-Repair «Рекомендуемый ремонт». Это приведет к переустановке GRUB и при необходимости переустановит ядро. Если какая-либо проблема указывает URL-адрес, который появится.

0
ответ дан 25 May 2018 в 10:17

Запустить Boot-Repair «Рекомендуемый ремонт». Это приведет к переустановке GRUB и при необходимости переустановит ядро. Если какая-либо проблема указывает URL-адрес, который появится.

0
ответ дан 25 July 2018 в 18:32

Запустить Boot-Repair «Рекомендуемый ремонт». Это приведет к переустановке GRUB и при необходимости переустановит ядро. Если какая-либо проблема указывает URL-адрес, который появится.

0
ответ дан 2 August 2018 в 00:43

Запустить Boot-Repair «Рекомендуемый ремонт». Это приведет к переустановке GRUB и при необходимости переустановит ядро. Если какая-либо проблема указывает URL-адрес, который появится.

0
ответ дан 4 August 2018 в 16:13

Запустить Boot-Repair «Рекомендуемый ремонт». Это приведет к переустановке GRUB и при необходимости переустановит ядро. Если какая-либо проблема указывает URL-адрес, который появится.

0
ответ дан 6 August 2018 в 00:51

Запустить Boot-Repair «Рекомендуемый ремонт». Это приведет к переустановке GRUB и при необходимости переустановит ядро. Если какая-либо проблема указывает URL-адрес, который появится.

0
ответ дан 7 August 2018 в 18:16

Запустить Boot-Repair «Рекомендуемый ремонт». Это приведет к переустановке GRUB и при необходимости переустановит ядро. Если какая-либо проблема указывает URL-адрес, который появится.

0
ответ дан 10 August 2018 в 07:01

Запустить Boot-Repair «Рекомендуемый ремонт». Это приведет к переустановке GRUB и при необходимости переустановит ядро. Если какая-либо проблема указывает URL-адрес, который появится.

0
ответ дан 15 August 2018 в 18:59

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

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