Я попытался установить Arch Linux на свой ноутбук HP таким образом, чтобы он загружался непосредственно из UEFI. Я делал это раньше, но я не помню точный метод, который я использовал. Я следую стандартным инструкциям из вики, и /dev/sda1 смонтирован в /mnt/boot и /dev/sda2 смонтирован в /mnt . После chroot в /mnt я использую pacman для загрузки efibootmgr. Тогда я использую команду:

efibootmgr -d /dev/sda -p 1 -c -L "Arch Linux" -l /vmlinuz-linux -u "root=/dev/sda2 rw initrd=/initramfs-linux.img"

снова вики Я всегда проверяю правильность порядка загрузки, но после перезагрузки компьютер не видит никакой загрузочной системы.

Затем с помощью оболочки UEFI от USB я хотел попробовать

Shell> bcfg boot add N fsV:\vmlinuz-linux "Arch Linux"

но моя оболочка перечисляет только USB как fs0, а все остальное - как blk0, blk1 и так далее. Они не являются доступными каталогами, поэтому я не могу использовать их в команде выше.

Я не знаю, что еще я мог попробовать. Я сжег USB с помощью rufus и перепробовал большинство вариантов. В настоящее время я использовал формат GPT, FAT32 и режим DD с rufus. У меня устаревшая и безопасная загрузка отключена в BIOS. Диск ноутбука отформатирован как GPT, а /dev/sda1 - это раздел EFI. Оба раздела отформатированы как ext4 с использованием mkfs.ext4 . Я несколько раз пытался переустановить систему, но до сих пор не могу понять, в чем проблема.

2 ответа2

1

Я не верю в efibootmgr, поэтому мне нравится делать это вручную, если я что-то упустил, пожалуйста, напишите комментарий.

Сначала вам нужно загрузиться с установочного носителя USB в режиме UEFI. Я пытаюсь выделить процесс установки арки UEFI.

Для загрузки UEFI требуется не только efi, но и загрузочный раздел.

Первые два раздела должны выглядеть следующим образом: загрузитесь с размера 1М и начните с первого сектора. затем 500M EFI раздел.

fdisk -l
Device       Start       End   Sectors  Size Type
/dev/sda1     2048      4095      2048    1M BIOS boot
/dev/sda2     4096   1028095   1024000  500M EFI System

Я рекомендую gdisk для их создания.

Оба должны быть отформатированы как FAT:

mkfs.vfat /dev/sda1
mkfs.vfat /dev/sda2

Смонтируйте root FS в /mnt так, как вы это сделаете, затем создайте папку esp в /mnt и смонтируйте раздел efi следующим образом:

mkdir /mnt/esp
mount -o rw,relatime,fmask=0033,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro /dev/sda2 /mnt/esp

На этом этапе pacstrap, а затем genfstab можно сделать с точки зрения UEFI.

добавьте следующее в конец файла /mnt /etc /fstab.

/esp/EFI/arch   /boot   none    bind    0 0

Это необходимо, потому что pacman обновляет /boot, пока загрузчик будет искать файлы в /esp /EFI /arch, чтобы после обновления система перестала загружаться.

Теперь вы должны отредактировать /etc/mkinitcpio.conf HOOKS = section, должна выглядеть так:

HOOKS='base systemd autodetect modconf block sd-lvm2 filesystems keyboard fsck sd-shutdown'

sd-lvm2 требуется только при использовании разделов lvm.

Теперь этот момент мы должны выполнить chroot в /mnt

запустите эти команды:

mkinitcpio -p linux
bootctl --path=/esp install # install boot loader
echo -e "# Load vfat at boot\nvfat\n" > /etc/modules-load.d/vfat.conf   # Load vfat module at boot

Создайте файл /esp/loader/entries/arch.conf, содержащий следующую информацию:

title   Arch Linux
linux   /EFI/arch/vmlinuz-linux
#initrd  /EFI/arch/intel-ucode.img
initrd  /EFI/arch/initramfs-linux.img
options root=/dev/sda3 rw

initrd /EFI/arch/intel-ucode.img должна быть закомментирована, если вы используете процессор Intel, вы также должны установить pacman -Sy intel-ucode для процессора Intel, root = должен содержать корневой раздел системы.

файл конфигурации ищет файлы в /EFI /arch /, поэтому мы создаем каталог и копируем каждый файл из /boot, затем удаляем /boot / *, так как мы свяжем mount /EFI /arch / с /boot при загрузке системы.

mkdir -p /esp/EFI/arch
cp /boot/* /esp/EFI/arch/
rm /boot/*

Если все остальное сделано, вам нравится конфигурировать в chroot, вы можете попробовать загрузить новую систему.

0

Если ваш системный раздел EFI не отформатирован как FAT32, то это проблема. Хотя теоретически UEFI может поддерживать любую файловую систему, единственная fs, которую он должен поддерживать, это FAT32. (Может быть, некоторые CD/DVD тоже.)

ESP должен быть FAT32.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .