SSD-кэширование (например, ASUS P9X79 WS) - возможно на Ubuntu?

Во-первых, у вас нет двух ESP. ESP - это раздел с кодом типа раздела C12A7328-F81F-11D2-BA4B-00A0C93EC93B, который разделен как раздел с установленным «флагом загрузки». Ваш вывод указывает, что только у / dev / sda3 установлен «флаг загрузки», поэтому у вас есть только один ESP - / dev / sda3. Под GPT разделы могут иметь имена, и у вас есть два раздела с названием «системный раздел EFI», но эти имена используются только для целей идентификации людей. Таким образом, я предполагаю, что вы (или какая-то автоматическая утилита) создали / dev / sda1 с целью сделать его ESP, но либо возникла ошибка при установке кода типа раздела, либо какая-либо другая утилита неправильно изменила код своего типа с C12A7328-F81F-11D2-BA4B-00A0C93EC93B - что-то еще.

Существует несколько способов исправить это. Самое простое - просто изменить имя / dev / sda1, чтобы избежать путаницы. Если вы считаете, что / dev / sda1 не имеет никакой цели, вы можете создать резервную копию и удалить ее. Это избавит вас от пути и позволит избежать путаницы, но, конечно же, у вас будет 273 МБ неиспользуемого дискового пространства. Кроме того, вы можете посвятить пространство другим целям, при необходимости изменив имя и тип кода, чтобы избежать путаницы. EFI явно разрешает несколько ESP, поэтому вы можете изменить код типа (например, установив флаг загрузки, используя разделенные, и использовать оба ESP; но это может сбить с толку.

Скорее всего, эта проблема не связана с вашей неспособностью загружать Linux, поскольку это похоже на то, что все соответствующие файлы находятся на / dev / sda3. Для меня есть несколько возможных причин для этой проблемы:

Возможно, вы ошиблись в команде efibootmgr. Я не вижу никаких очевидных опечаток, но если двоичный файл GRUB не находится там, где вы указали, команда не будет работать. Параметры «--gpt» и «--write-signature» почти наверняка не нужны и, возможно, могут вызывать проблемы, но, скорее всего, нет. У вашей прошивки может быть ошибка, из-за которой эффекты команды efibootmgr будут временными. Попробуйте перезагрузить, а затем введите «sudo efibootmgr -v», чтобы увидеть, сохранилась ли запись, которую вы создали, перезагрузки. У вашей прошивки может быть ошибка, вызывающая игнорирование переменной порядка загрузки. У меня есть такая материнская плата; он загружается в том порядке, в котором создаются записи загрузки, а не в порядке, в котором они указаны переменной BootOrder. Чтобы обойти эту ошибку, вам придется удалить все записи и заново создать их в порядке загрузки, который вы хотите использовать. Ваш двоичный файл grubx64.efi может быть поврежден таким образом, что прошивка отказывается запускать его, и поэтому он переходит к следующему элементу в порядке загрузки.

Вы можете попробовать настроить команду efibootmgr, найти новый двоичный файл или еще что-то проверить эти возможности. Если все остальное не удается, я рекомендую вам сделать следующее:

Удалить все загрузочные записи с помощью efibootmgr или вашей прошивки (если это обеспечивает интерфейс для этого). Скопируйте grubx64.efi в EFI / Boot / bootx64.efi на ESP. Если при перезагрузке вы все равно получите Windows, переименуйте EFI / Microsoft / Boot / bootmgfw.efi в EFI / Microsoft / bootmgfw.efi.

Это должно привести к загрузке GRUB с использованием имени по умолчанию для загрузчика (EFI / Boot / bootx64.efi). Одна из проблем заключается в том, что GRUB может не иметь рабочей записи для Windows. Возможно, вы можете создать его вручную; такая запись должна работать:

menuentry "Windows 7" {
    set root='(hd0,gpt3)'
    chainloader /EFI/Microsoft/bootmgfw.efi
}

Кроме того, вы можете установить rEFIt или rEFInd как EFI / Boot / bootx64.efi. Обратите внимание, что двоичные файлы rEFIt, доступные со своего сайта, не будут работать на компьютерах на базе UEFI; вам нужно будет использовать эту версию в репозиториях Ubuntu. rEFInd - это вилка rEFIt с многочисленными исправлениями и обновлениями ошибок, включая лучшую поддержку UEFI. (rEFIt, похоже, был оставлен около двух лет назад.) Таким образом, я рекомендую использовать rEFInd, а не rEFIt, но я сторонник rEFInd, поэтому я не являюсь независимым наблюдателем на этот счет. К сожалению, AFAIK rEFInd еще не включен в репозитории Ubuntu, поэтому вам придется загружать и устанавливать его вручную.

1
задан 9 December 2012 в 01:54

1 ответ

См. Как установить и использовать flashcache / bcache для кэширования жесткого диска на SSD? в котором объясняется, как установить bcache и другие гибридные блокирующие устройства Linux.

0
ответ дан 25 May 2018 в 03:33

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

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