Я загрузил Arch 64 bit ISO на USB-флешку и загрузился с нее. Целевая система — плата Gigabyte с процессором Athlon и 8 ГБ оперативной памяти, жесткий диск на 1 ТБ с UEFI.
Следовал встроенному скрипту "Installation_Guide" и следовал ему как можно точнее. Часть его немного расплывчата.
Я также просмотрел эту статью, но ни в ней, ни в руководстве по установке нет подробного описания того, что делать, если вы пытаетесь выполнить мультизагрузку. https://www.tecmint.com/arch-linux-installation-and-configuration-guide/
Так как у меня уже есть первый раздел sda1, который используется как "загрузочный раздел" (я полагаю), а Ubuntu находится на sda2, Debian на sda3 и swap на sda4, я создал sda5 с помощью fdisk и отформатировал его как ext4. Установил Arch и vi, следуя инструкциям. Использовал существующий раздел swap, почему бы и нет? Одновременно может работать только одна ОС.
Прошел все настройки языка, локали и часового пояса. Настроил localhost и hostname.
Я создал fstab, в нем 3 записи: одна для раздела EFI, одна для swap и еще одна для основной ОС. Установил GRUB в среде chroot.
В любом случае, после перезагрузки я просто смотрю на те же самые варианты загрузки, которые у меня были раньше... Ubuntu (несколько вариантов) и Debian. Я снова загрузился с Arch USB и смог перейти на sda5 и убедиться, что все по-прежнему там.
Я чувствую, что просто упускаю ОДИН ВАЖНЫЙ ШАГ, но не могу понять, какой именно. Спасибо за любые указания.
Эта связанная статья 5-летней давности предлагает использовать grub-probe (я пока не пробовал). Она также указывает на то, что у grub много документации. Ну да, есть. Много и много. Может быть, даже слишком много.
https://stackoverflow.com/questions/38139756/how-to-triple-boot-debian-arch-linux-ubuntu
Вход в Ubuntu, просмотр /proc/partitions. Показаны только результаты из /dev/sda.
larry@Old-Gigabyte:~$ cat /proc/partitions
major minor #blocks name
8 0 976762584 sda
8 1 524288 sda1
8 2 167912448 sda2
8 3 163086336 sda3
8 4 16384000 sda4
8 5 52428800 sda5
larry@Old-Gigabyte:~$
fdisk /dev/sda показывает:
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 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: gpt
Disk identifier: 680F4B2C-CEB6-4011-A765-471C99ED79AF
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 336875519 335824896 160.1G Linux filesystem
/dev/sda3 336875520 663048191 326172672 155.5G Linux filesystem
/dev/sda4 663048192 695816191 32768000 15.6G Linux swap
/dev/sda5 695816192 800673791 104857600 50G Linux filesystem
/etc/fstab это:
larry@Old-Gigabyte:~$ cat /mnt/arch/etc/fstab
# /dev/sda5
UUID=ea07243f-d202-4061-bd97-aa166676e0de / ext4 rw,relatime 0 1
# /dev/sda1
UUID=21A8-3956 /efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2
# /dev/sda4
UUID=35a1d790-7070-4056-8536-799099738d6b none swap defaults 0 0
larry@Old-Gigabyte:~$
Некоторая информация из раздела efi:
root@Old-Gigabyte:/mnt/efi/EFI/ubuntu# cd ../..
root@Old-Gigabyte:/mnt/efi# ls -lR
.:
total 4
drwx------ 4 root root 4096 Sep 5 2019 EFI
./EFI:
total 8
drwx------ 2 root root 4096 Sep 5 2019 BOOT
drwx------ 2 root root 4096 Mar 5 2020 ubuntu
./EFI/BOOT:
total 3748
-rwx------ 1 root root 1341560 Mar 18 20:24 BOOTX64.EFI
-rwx------ 1 root root 1222800 Mar 18 20:24 fbx64.efi
-rwx------ 1 root root 1269496 Sep 5 2019 mmx64.efi
./EFI/ubuntu:
total 3672
-rwx------ 1 root root 108 Mar 18 20:24 BOOTX64.CSV
-rwx------ 1 root root 126 Mar 18 20:24 grub.cfg
-rwx------ 1 root root 1130368 Mar 18 20:24 grubx64.efi
-rwx------ 1 root root 1277024 Mar 18 20:24 mmx64.efi
-rwx------ 1 root root 1341560 Mar 18 20:24 shimx64.efi
root@Old-Gigabyte:/mnt/efi#
root@Old-Gigabyte:/mnt/efi# cat EFI/ubuntu/BOOTX64.CSV
shimx64.efi,ubuntu,,This is the boot entry for ubuntu
root@Old-Gigabyte:/mnt/efi#
root@Old-Gigabyte:/mnt/efi# cat EFI/ubuntu/grub.cfg
search.fs_uuid 0fb648e7-69b8-4701-be8f-3a01a1c820da root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
root@Old-Gigabyte:/mnt/efi#
Я тут что-то нашёл, так как фактические пункты меню GRUB, похоже, находятся на разделе Ubuntu (это то, что я установил первым). Содержимое этого файла, похоже, сгенерировано, и в верхней части я вижу:
root@Old-Gigabyte:/boot/grub# cat grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
Я собираюсь взглянуть на grub-mkconfig....
Хорошо, интересно, что grub.cfg на разделе Ubuntu, похоже, правильный. Полагаю, тут происходит что-то вроде последовательной цепочки?
Я запустил это, чтобы обновить /boot/grub/grub.cfg:
root@Old-Gigabyte:/boot/grub# grub-mkconfig -o ./grub.cfg
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.0-72-generic
Found initrd image: /boot/initrd.img-5.4.0-72-generic
Found linux image: /boot/vmlinuz-5.4.0-71-generic
Found initrd image: /boot/initrd.img-5.4.0-71-generic
Found Debian GNU/Linux 10 (buster) on /dev/sda3
Found Arch Linux on /dev/sda5
Adding boot menu entry for EFI firmware configuration
done
root@Old-Gigabyte:/boot/grub#
Сейчас перезагружаюсь, надеюсь на лучшее.
Спасибо за любые подсказки.
ДЛ