#1 2015-03-26 22:29:20

oseb
회원
가입날짜: 2015-03-13
올린 글 수: 4

아치를 이렇게 설치했어요

하나의 하드에 윈도 파티션해서 아치를 설치했습니다.
하드가 GPT(uefi) 포멧으로 해 놓았고 윈도가 설치되어 있습니다.
현재 ESP(EFI System Partition)는 /dev/sda2로 되어 있습니다.

    Device          Start        End    Sectors   Size Type
>>  /dev/sda1        2048     616447     614400   300M Windows recovery environm
    /dev/sda2      616448     821247     204800   100M EFI System
    /dev/sda3      821248    1083391     262144   128M Microsoft reserved
    /dev/sda4     1083392  126912511  125829120    60G Microsoft basic data
    /dev/sda5   126912512 1175488511 1048576000   500G Microsoft basic data
    /dev/sda6  1175488512 1206945791   31457280    15G Linux filesystem
    /dev/sda7  1206945792 1449416703  242470912 115.6G Linux filesystem
    /dev/sda8  1449416704 1465145343   15728640   7.5G Linux swap
    Free space 1465145344 1465149134       3791   1.9M

먼저 윈도에서 파티션 공간을 줄여서 아치를 설치할 공간을 만들었습니다.
그리고 그 만든 공간을 3개로 다시 나눴습니다. sda6 sda7 sda8입니다.

아치 사이트에 가서 iso 파일을 받아서 usbwrite라는 윈도 유틸로 구웠습니다.
개인적으로 iso 굽는데 있어서 무척 맘에드는 유틸입니다.

아치는 secure boot 를 지원하지 않아서 컴의 바이오스에서 그 옵션을 껐습니다.
usb를 꼽고 부팅할 때 uefi usb 항목을 지정해서 부팅했습니다.

이제 부팅후 root 프롬프트가 떨어지면 파티션을 합니다.
먼저 cfdisk /dev/sda해서 윈도용으로 되어 있던  파티션 id를 리눅스용으로 각각 바꿉니다.
기억에 리눅스용은 8300과 스왑용은 8200입니다.

swap 파티션을 포멧하고 켭니다.

# mkswap /dev/sda8
# swapon /dev/sda8

/와 /home 파티션을 포멧합니다.

# mkfs.ext4 /dev/sda6
# mkfs.ext4 /dev/sda7

설치할 파티션을 순서대로 마운트 합니다.

# mount /dev/sda6 /mnt 
# mkdir /mnt/home
# mount /dev/sda7 /mnt/home
# mkdir -p /mnt/boot/efi
# mount /dev/sda2 /mnt/boot/efi

필요하면 원하는 미러를 바꾸기 위해서 그 주소를 찾아 맨 윗쪽에 복사합니다. (옵션)

# vi /etc/pacman.d/mirrorlist

이제 마운트한 파티션에 패키지를 설치합니다.

# pacstrap /mnt base base-devel grub efibootmgr

fstab 정보를 생성하고 chroot를 합니다.
만일 스왑이 켜져있지 않으면 생성시 빠지더군요.

# genfstab -p /mnt >> /mnt/etc/fstab
# arch-chroot /mnt

환경설정을 합니다. 순서는 상관 없지만...
호스트 이름은 book, 시간은 서울, 로케일은 영어만 선택했습니다.

# echo book > /etc/hostname
#ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

# vi /etc/locale.gen
#locale-gen

#echo LANG=en_US.UTF-8 > /etc/locale.conf

램디스크 initramfs를 만듭니다.

mkinitcpio -p linux

grub을 설치합니다.

# grub-mkconfig -o /boot/grub/grub.cfg
# grub-install /dev/sda

root 암호를 설정하고 사용자 계정도 하나 만듭니다.
혼자쓰는 일반 데스탑은 wheel 그룹만 있으면 된다고 하더군요.
video, audio 같은 세세한 것은 일반 유저에 적용하면 됩니다.

# passwd root

# useradd -m -G wheel -s /bin/bash oseb
# passwd oseb

만든 사용자 계정에 sudo 권한을 부여합니다.
# %wheel% 항목에서 주석 # 제거하면 되더군요.

# visudo
...
%wheel ALL=(ALL) ALL
...

chroot는 exit로 벗어나고 나서 재부팅을 합니다.

# exit

# umount -R /mnt
# reboot

재부팅후에 dhcp를 실행하고 자동으로 실행하기 위해서 서비스로 등록합니다.

# dhcpcd
# systemctl enable dhcpcd

윈도를 위해서 grub 부팅메뉴 항목을 갱신시켜 줍니다.

# pacman -Syu os-prober
grub-mkconfig -o /boot/grub/grub.cfg

재부팅해서 윈도와 아치가 각각 되는지 확인합니다.

끝으로 보드에 따라서 윈도로만 부팅되거나 우선권을 강제하면 윈도의 명령행을 관리자 권한으로 실행해서
bdedit 편집으로 grub으로 들어가게 하면 됩니다.

bcdedit /set {bootmgr} path \EFI\arch\grubx64.efi

sudo efibootmgr -v
Boot0000* Windows Boot Manager    HD(2,96800,32000,cdac5e0c-8e86-4076-ba95-90ab72491b78)File(\EFI\arch\grubx64.efi) ....

Offline

게시판 다리

Powered by FluxBB