`install-grub` утверждает, что у меня несколько меток разделов и что встраивание невозможно

Я пытаюсь установить GRUB на свой не загружающийся настольный компьютер, но я сталкиваюсь с несколькими ошибками. Другие источники, обсуждающие эти ошибки, объясняют их либо отсутствием свободного дискового пространства перед первым разделом (у меня есть необходимое свободное место), либо проблемой с /boot/grub/grub.cfg (проблема сохраняется даже после правильной регенерации этого файла).

Я загрузился с живого USB и попытался переустановить GRUB, используя следующие команды, но я столкнулся с ошибкой, которая не позволяет ему работать:

$ sudo mount /dev/sda1 /mnt
$ sudo grub-install --root-directory=/mnt /dev/sda
Installing for i386-pc platform.
grub-install: warning: Attempting to install GRUB to a disk with multiple partition labels.  This is not supported yet..
grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.

Однако, /dev/sda, кажется, правильно отформатирован для Установка grub:

$ sudo fdisk -l /dev/sda

Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x8d91017b

Device     Boot Start       End   Sectors   Size Id Type
/dev/sda1  *     2048 234440703 234438656 111.8G 83 Linux

$ blkid /dev/sda1
/dev/sda1: UUID="84e9ff65-c4ba-42eb-8a6d-ebc703fae1f7" TYPE="ext4" PARTUUID="8d91017b-01"

В начале он имеет стандартное свободное пространство 1 МБ, и /dev/sda1 отформатирован правильно. Я попытался использовать grub-mkconfig для перестройки конфигурационного файла:

$ for f in proc sys dev dev/pts ; do sudo mount --bind /$f /mnt/$f ; done
$ sudo chroot /mnt
# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.19.0-26-generic
Found initrd image: /boot/initrd.img-3.19.0-26-generic
Found linux image: /boot/vmlinuz-3.19.0-23-generic
Found initrd image: /boot/initrd.img-3.19.0-23-generic
Adding boot menu entry for EFI firmware configuration
done

Однако, я все еще получаю одно и то же сообщение об ошибке при запуске grub-install, в среде или из среды chroot.

]

При загрузке живого USB в устаревшем режиме я получаю ту же ошибку; единственное отличие - это результат работы grub-mkconfig в среде chroot:

# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.19.0-26-generic
Found initrd image: /boot/initrd.img-3.19.0-26-generic
Found linux image: /boot/vmlinuz-3.19.0-23-generic
Found initrd image: /boot/initrd.img-3.19.0-23-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sdc1
done

Как правильно установить grub?

19
задан 27 August 2015 в 20:36

4 ответа

Вот то, что я сделал, который получил его работающий снова:

Используемый gdisk для преобразования раздела MBR в GPT вставьте раздел в вакуум (тип EF02 "Раздел начальной загрузки BIOS"), транспонировал его запись с моим исходным разделом и отметил его как загрузочный BIOS прежней версии.

Затем работал

$ sudo mount /dev/sda1 /mnt
$ sudo grub-install --root-directory=/mnt /dev/sda

, Это затем установило успешно, и я способный загрузиться к моему основному диску.

1
ответ дан 28 August 2015 в 06:36
  • 1
    There' s на самом деле никакой смысл в перезаписи целого диска с нулями, если Вы не хотите 1) проверить, что все секторы диска все еще writeable или 2) удостовериться, что никто не может очистить оставшуюся информацию от Вашего жесткого диска (например, при продаже компьютера незнакомцу). Для избавлений от предыдущих разделов и таблицы разделов просто создают новую с любимым менеджером по разделу. Также dd на типичном жестком диске или SSD возьмет возрасты без разумного размера блока как bs=8M или чего-то как этот. – David Foerster 19 November 2016 в 08:00

Можно создать новое разделение, где отчет GPT, затем вытрите его, используя dd. Тот путь, только отчет MBR останется.

проблемное устройство Принятия /dev/sda:

Создают новое разделение в начальном 1 МИБ

$ parted /dev/sda
$ mkpart primary ext4 0MiB 1MiB
$ quit

Затем ноль недавно созданное разделение

$ dd if=/dev/zero of=/dev/sda2

Затем удаляют разделение

$ parted /dev/sda
$ rm 2
$ quit

grub-install, должен теперь работать как ожидалось.

3
ответ дан 28 August 2015 в 06:36

Имел подобную проблему с несколькими маркировками раздела, хотя я совершенно уверен это дело не в этом.

sudo grub-install target=i386-pc /dev/sda --force

то, что я раньше обходил это. Прикрепление на --force не является "рекомендуемым" решением, но у меня не было проблем до сих пор =P

3
ответ дан 28 August 2015 в 06:36
  • 1
    @kokolacio: это обнуляет полную поверхность диска. Это не оставляет остатков (это будет точно так же, как прокручиваться из фабрики - отчасти, упрощенный) на поверхности. – Frantique 19 November 2016 в 03:21

Уничтожьте разрыв между загрузочным сектором и первым разделом.

# dd if=/dev/zero of=/dev/sdX seek=1 count=2047

Это для того, если первый раздел запускается в секторе 2048. Некоторые запускают ранее, особенно на дисках, которые были разделены Windows. Безусловно, работайте

# fdisk -l /dev/sdX

прежде, чем запуститься и проверка для наблюдения, где первый раздел запускается. Используйте count=S-1, где S является запуском первого раздела.

24
ответ дан 28 August 2015 в 06:36
  • 1
    Загрузите Ubuntu в живом режиме, и выполните Gparted и посмотрите what' s продолжение, сделайте снимок экрана, если возможный и добавляют его к вопросу. И I' d рекомендуют изменить заголовок вопроса, или Вы будете downvoted так! – Muaad ElSharif 19 November 2016 в 01:44

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

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