Jak zainstalować Arch Linux obok Windows 10 i Ubuntu z UEFI?


(ubuuser) #1

Trzy dni temu padł mój poprzedni laptop ze starym, poczciwym BIOS. Musiałem kupić inny - oczywiście z UEFi. Mam na nim preinstalowany Windows 10. Zrobiłem najpierw porządek z partycjami (GPT), uzyskałem wolne miejsce na partycje dla Linuksa. Partycja /dev/sda1 to efi. Dla dystrybucji Linuksa mam wolne partycje /dev/sda9 i /dev/sda10, a na /dev/sda8 zainstalowałem Ubuntu 16.10. Instalując Ubuntu, jako miejsce dla GRUB wybrałem /dev/sda1. Wszystko przebiegło pomyślnie, w menu GRUB-a mam możliwość odpalenia Ubuntu, Windows i wejścia do ustawień “BIOS” - wszystko działa dobrze.

Instalując Arch-a na /dev/sda9 zrobiłem tak:

Pobrałem obraz iso z 01.12.2016r i spod Ubuntu “nagrałem” go na pendrive za pomocą dd.

Po zbootowaniu systemu z pendrive wykonałem następujące polecenia:

mount /dev/sda9 /mnt

mkdir -p /mnt/boot/efi

mount /dev/sda1 /mnt/boot/efi

pacstrap /mnt base base-devel

genfstab -L -p /mnt >> /mnt/etc/fstab

arch-chroot /mnt

echo LIP300 > /etc/hostname

mkinitcpio -p linux

pacman -S grub efibootmgr os-prober

grub-install  --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub

grub-mkconfig -o /boot/grub/grub.cfg

pacman -S networkmanager wireless_tools wpa_supplicant wpa_actiond dialog

systemctl enable NetworkManager

passwd

Po ustawieniu hasła dla administratora zrestartowałem system i niestety otrzymałem komunikat:

[   0.602356] platform MSFT0101:00: failed to claim resource 1

[  0.602362] acpi MSFT0101:00: platform device creation failed: -16

starting version 232

/dev/sda9: clean, 42441/560832 files, 399361/2242816 blocks

[   3.328253] EXT4-fs (sda9): Cannot load crc32c driver.

mount: mount(2) failed: /new_root: No such file or directory

You are now being dropped into an emergency shell.

sh: can’t access tty; job control turned off

[rootfs  ]#

Gdzie popełniłem błąd?

Z poziomu Ubuntu wszedłem na partycję /dev/sda9 i podejrzałem zawartość pliku /etc/fstab:

/etc/fstab: static file system information

<file system>    <dir>    <type>    <options>    <dump>    <pass>

/dev/sda9 UUID=2b19b333-4bf8-4c84-b5ad-2da39a905f4a

/dev/sda9               /             ext4          rw,relatime,data=ordered    0 1

/dev/sda1 UUID=A097-1785

LABEL=SYSTEM_DRV        /boot/efi     vfat          rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro    0 2

Proszę o pomoc.


(tomi001) #2

A jesteś pewny, że ustawiałeś partycji montowania do katalogu /new_root bo z tego komunikatu

 

mount: mount(2) failed: /new_root: No such file or directory

można tak wnioskować


(ubuuser) #3

Nigdy i nigdzie nie ustawiałem jakiegoś /new_root. Cały przebieg instalacji Archa przedstawiłem wyżej. Nie wiem skąd się wzięło to  /new_root


(tomi001) #4

A weź spróbuj zahaszować ta linijkę

 

LABEL=SYSTEM_DRV /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2

na

 

#LABEL=SYSTEM_DRV /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2

 


(Domker) #5

Miałem swoją przygodę z Arch Linux i na jednym lapku bez problemu instalacja, a na drugim też się sypało i za chiny powodu nie mogłem znaleźć.

Czasami trzeba sobie trochę ułatwić. Nie wiem, czy wiesz, ale Arch ma też swój instalator, który nazywa się Arch Anywhere i z powodzeniem aktualnego Arch Linux nim zainstalujesz:

YT - link

https://www.ostechnix.com/arch-anywhere-an-easy-way-to-install-a-fully-custom-arch-linux-system/

…a i dla świętego spokoju wyłącz “Secure Boot” w UEFI (o ile masz włączony).

 


(ubuuser) #6

@tomi001 Nie sądzę aby komentowanie tego wiersza było dobrym pomysłem, ale tonący brzytwy się chwyta, więc spróbowałem - bez zmian.

@Domker Dzięki za link. Jeżeli nie uda mi się normalna instalacja, to spróbuję. Secure Boot wyłączyłem przed instalowaniem Ubuntu.


(nintyfan) #7

Podejrzewam, że Arch wymaga initramfs i pewnie go nie utworzyłeś lub brakuje tam sterownika dla systemu plików. Jądro ma tylko obsługę ext2 wkompilowaną(o ile się nie mylę).


(Domker) #8

Jądro Archa obsługuje EXT3 i 4 “at hook”, nie tu leży problem.


(pocolog) #9

At hook? Czyli jak? :smiley:


(Domker) #10

“out of box” heh :slight_smile:


(ubuuser) #11

Kochani. Ja Archa stawiałem już kilka razy na ext4 i nie było żadnych problemów. Byłbym szczęśliwy gdyby mi ktoś powiedział patrząc na sposób instalowania, który w swoim pierwszym poście podałem, czy zrobiłem tam jakiś błąd, czy nie. Taki sam komunikat (o tym punkcie montowania /new_root) dostałem też instalując Manjaro, które bazuje na Archu. Ciekawe jest to, że po pierwszej nieudanej instalacji Manjaro spróbowałem drugi raz i poszło. O co tu chodzi? Czy jest jakiś błąd w instalatorze? Jutro podejmę kolejną próbę zainstalowania Arch-a, może się uda. 


(roobal) #12

Ustawiłeś partycji dla boot taką etykietę LABEL=SYSTEM_DRV        /boot/efi     vfat? Bezpieczniej będzie użyć /dev/sda1. No i zobacz w config gruba czy masz włączoną obsługę labal i uuid. Upewnij się też, że grub startuje systemd.

Jak będziesz instalował Archa na nowo i jeśli niepotrzebny Ci Grub, zrób to tak.

  1. Podziel partycje i nie używaj etykiet (labeli);

  2. Zamontuj partycje do /mnt;

  3. pacstrap /mnt base;

  4. genfstab /mnt > /mnt/etc/fstab;

  5. arch-chroot /mnt;

  6. mkinitcpio -p linux (upewnij się, że masz włączone niezbędne moduły);

  7. pacman -S efibootmgr;

  8. bootctl install;

  9. vi /boot/loader/entries/arch.conf (piszę z pamięci, upewnij się, że ścieżka jest właściwa); wpisujesz tam:

title ArchLinux

linux /vmlinuz-linux

initrd /initramfs-linux.img

options root=/dev/vda9 rw (tu ustawiasz swoją root partycję)

  1. passwd

  2. reboot

  3. Arch powinien wystartować automatycznie bez grub, reszta systemów jest w menu uefi.