archlinux安裝教程以及自己踩過的坑

引言:

  linux是一種哲學。最近喜歡上了arch的簡潔,可高度定製化,滾動更新和設計哲學,準備日常辦公從ubuntu轉向arch,目前已完成安裝,正在使用arch寫這篇博客,而事實證明arch確實沒讓我失望,它的確是一個非常不錯的發行版.

安裝環境:

  1. cpu: i5 ram:12G 臺式電腦
  2. 一塊硬盤(有剩餘空間或新硬盤都可以,我這裏用的是1T新硬盤,GPT分區,UEFI啓動)
  3. 一塊8G U盤
  4. 從官網或者其他鏡像源下載的iso系統鏡像(e.g:archlinux-2017-08.01-x86_64.iso)

安裝過程:

製作U盤啓動基礎系統

  1. 在ubuntu或者其他Linux系統中執行
fdisk -l

查看所有硬盤和分區,記錄下U盤的磁盤標識,比如我這裏是/dev/sdc
2. 使用dd命令製作U盤安裝啓動系統

dd if=xxx.iso of=/dev/sdc

if,of可簡記爲input file,output file.
注意:如果你的系統和我一樣有mbr+bios和gpt+uefi的不同硬盤分區方式及啓動方式的話,不推薦使用ultraiso進行刻錄,我分別嘗試了使用相同鏡像,一個U盤使用dd,一個U盤使用ultraiso,ultraiso刻錄的U盤並不能正常進入基礎安裝系統,因爲我目前電腦有三塊硬盤,其中兩塊都是使用mbr分區方式使用bios啓動,而因爲gpt的無主分區數量限制,以及2T硬盤大小限制,以及gpt對磁盤的利用率更高,於是我選擇了在此塊新硬盤採用gpt的分區方式,使用uefi啓動.

硬盤分區

  1. 插入U盤開機選擇UEFI或傳統bios啓動
    • U盤啓動,如果不是UEFI,請選擇傳統模式的U盤啓動,一般是開機按F12,F10,ESC,DELETE等鍵,我這裏是F12.
  2. 更新系統時間
    • timedatectl set-ntp true
  3. 使用fdisk對硬盤進行分區
附上我這裏使用的分區方案(在後面的分區方案中,我取消了usr分區,交給了/)
  • /swap 16G
  • / 300G
  • /home 200G
  • /boot/efi 10G
這裏使用的分區命令
  • fdisk -l #查看當前所有硬盤和分區信息
  • fdisk /dev/sda #進入指定硬盤進行操作
  • 進入後 w 保存退出 q 不保存退出 n 新建分區 然後選擇分區序列號 選擇起始扇區,一般前面幾個可以直接回車默認,傳統硬盤都是 512字節扇區,可根據硬盤說明扇區大小進行計算,或者結尾扇區使用+100G這種形式更加簡單。d 刪除分區
格式化分區(這裏有坑,注意swap分區和/boot/efi分區格式化方式不同)
  • parted /dev/sda 然後執行 mklabel gpt 設置sda爲gpt分區
  • fdisk -l
  • mkfs.ext4 /dev/sdax (普通分區格式化爲ext4)
  • mkswap /dev/sdax (swap分區格式化建立方式)
  • swapon /dev/sdax(激活系統swap分區)
  • mkfs.vfat -F32 /dev/sdaY (boot分區與GPT,UEFI有關,使用此命令格式化爲fat32)
分區掛載(這裏有坑,注意swap分區是不用掛載的,boot分區掛在應該掛在到/boot/efi,而不是/boot)
  • mount /dev/sdax /mnt 根分區
  • 使用多個分區,還需要爲其他分區創建目錄並掛載它們(/mnt/boot、/mnt/home、……)
  • mkdir -p /mnt/boot/efi
  • mount /dev/sda2 /mnt/boot/efi
  • 其他的和上面類似
坑來了,這裏一定要看執行下mount看是否成功掛載,否則可能會讓你從頭再來。

安裝

安裝基本系統
  • pacstrap /mnt base
配置系統(有坑)
  • 用以下命令生成 fstab 文件 (用 -U 或 -L 選項設置UUID 或卷標):
  • genfstab -U /mnt >> /mnt/etc/fstab
  • 特別提醒:在執行完以上命令後,用cat檢查一下生成的 /mnt/etc/fstab 文件是否正確。對比blkid命令下硬盤分區UID和此文件是否對應,我這裏就是因爲沒有mount好,生成的fstab也不對,導致安裝完成無法啓動.
Change root 到新安裝的系統:
  • arch-chroot /mnt
設置時區
  • ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 設置時間標準 爲 UTC,並調整 時間漂移:
  • hwclock –systohc –utc
Locale本地化配置
  • pacman -S vim (習慣vim直接裝一個,使用默認vi也可以)
  • vim /etc/locale.gen 打開註釋
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
  • 接着執行locale-gen以生成locale訊息:
  • locale-gen
  • 將系統 locale 設置爲en_US.UTF-8:
  • echo LANG=en_US.UTF-8 > /etc/locale.conf
設置主機名
  • echo archlinux > /etc/hostname
創建一個初始 RAM disk:
  • mkinitcpio -p linux(有坑,官方wifi說改動了mkinitcpio.conf可以不用執行這個init,我開始以爲我沒有修改,不用init,結果一下就踩進去了,友情提示這個最好不要忘了執行init一次)
設置 root 密碼:
  • passwd
配置網絡
  • pacman -S dialog wpa_supplicant netctl wireless_tools #現在不安裝 重啓之後如果只有wifi則可能無法連接網絡
  • 查看網卡名:
  • ip link show
  • 設置啓動dhcp:
  • systemctl enable [email protected]

安裝引導程序

我這裏選擇的grub,注意這裏一定得裝,否則是無法引導系統的,並且要特別小心,否則很容易無法對系統進行引導啓動.
  • UEFI版本:
  • pacman -S grub-efi-x86_64
  • EFI管理器:
  • pacman -S efibootmgr
  • 雙系統必需管理器:(我這裏由於bios和uefi方式不同,無法和ubuntu相互引導)
  • 安裝進EFI分區:
  • grub-install –efi-directory=/boot/efi –bootloader-id=grub
  • os-prober 識別硬盤上其他系統的工具:(uefi,bios衝突不能互相引導,如果是uefi,下面兩條命令可不執行,上面的就夠了,bios可選擇執行下面的安裝):
  • pacman -S grub
  • grub-install –recheck /dev/sda
  • 生成配置文件:
  • grub-mkconfig -o /boot/grub/grub.cfg
  • 友情提示:生成完成cat下/boot/grub/grub.cfg文件是否正常生成.如果不對需要進行自行檢測,正常才能繼續下面的操作.

退出chroot模式,並umount

  • 先umount /mnt裏面的boot,home等分區,然後umount /mnt 根分區
坑來了,到這裏基本已完成基礎系統的安裝,但是注意最好不要使用root然後在關機的瞬間把u盤拔掉,我開始就是,一切正常,但是使用reboot並立馬拔掉U盤,導致無法進入系統,這裏可能是shutdown的時候有部分文件未寫入完成就拔掉U盤可能導致數據異常,所以不能進入系統.於是後來就學乖了,先shutdown now關機,再開機進入,一切正常。
  • 友情提示:如果你和我一樣同時存在mbr,bios和gpt,uefi,需要進bios設置使用bios還是uefi來進行引導啓動,否則無法進入系統.
進入安裝好的基礎系統,然後依次檢查網絡連接,ip addr,ping,curl,檢查分區及目錄fdisk -l,du -h ,df -h,新建sudo用戶,這裏說幾個較重要的

安裝字體

  • pacman -S wqy-zenhei wqy-microhei (中文字體)ttf-dejavu adobe-source-code-pro-fonts (等寬字體) wqy-microhei
  • pacman -S fcitx fcitx-im fcitx-googlepinyin 輸入法
  • /etc/profile加入:(我這裏.xinitrc .xprofile 不會生效,如果你也和我一樣不生效,可以參考下我這裏)
export XIM=fcitx
export XIM_PROGRAM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

安裝網絡管理器

  • pacman -S networkmanager
  • pacman -S network-manager-applet xfce4-notifyd
  • networkmanager-pptp:
  • pacman -S networkmanager-pptp
  • systemctl start NetworkManager
  • systemctl enable NetworkManager
  • 友情提示:注意大小寫

安裝gnome(根據需要你也可以選擇kde,xfce等等其他發行版,我習慣用gnome)

  • Intel集成顯卡驅動:#選裝 集顯驅動已被集成在安裝包中
  • pacman -S xf86-video-intel
  • 安裝顯卡驅動:
  • pacman -S xf86-video-vesa
  • xorg服務:
  • pacman -S xorg-server xorg-xinit xorg-twm xterm
  • gnome:
  • pacman -S gnome gnome-extra gnome-tweak-tool
  • lib256選擇1 根據自己選擇配置 我這裏選擇的1
  • gnome 的窗口管理器#已默認安裝好,如果沒有再手動安裝下:
  • pacman -S gdm
  • systemctl enable gdm

然後reboot重啓就可以進入系統了,安裝完成.安裝過程參考了下面兩位大大@禾白小三飄@u012619242的寶貴經驗,結合官方wiki進行安裝,在此表示感謝,同時也希望我的這篇博文能幫助大家,少踩坑,如果有問題也可以在下面給我留言,歡迎討論。

參考文獻:

  1. 豐富的arch wifi資料庫
  2. http://www.linuxidc.com/Linux/2016-09/134953.htm
  3. VirtualBOX安裝Archlinux過程
發佈了83 篇原創文章 · 獲贊 34 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章