1. 程式人生 > >ArchLinux安裝筆記「雙系統U盤安裝」(2018-11-19)

ArchLinux安裝筆記「雙系統U盤安裝」(2018-11-19)

說在前面的廢話

Arch Linux 其實挺酷的,但不是最好作業系統。至少不是最舒服的。論操作和顯示效果,還是 mac 和 windows 比較好,做圖呢,當然選 mac ,不會來折騰 Linux,玩遊戲呢,當然是 windows,因為相容性好。

那麼對我這樣的一個苦逼程式猿來說呢,當然也想要一個mac,但是苦於沒錢買 mac ,那個好貴的,又不想去折騰那不倫不類的黑蘋果,只能裝一個滿是命令列的 Linux 裝一下。

當然了,可能會有同學說了,Linux 也挺好用的,比如 Ubuntu,Suse,Debian,CentOS,都有很好的桌面版本啊!說 Linux 不好用的,是因為不會用!!是啊,聽到這麼說,我也沒辦法了。

好了,相比於安裝其他版本的 Linux ,Arch 在安裝方面確實很不方便。Arch Linux 官方說了(頭條):

A simple, lightweight distribution
You’ve reached the website for Arch Linux, a lightweight and flexible Linux® distribution that tries to Keep It Simple.
Currently we have official packages optimized for the x86-64 architecture. We complement our official package sets with a community-operated package repository that grows in size and quality each and every day.
Our strong community is diverse and helpful, and we pride ourselves on the range of skillsets and uses for Arch that stem from it. Please check out our forums and mailing lists to get your feet wet. Also glance through our wiki if you want to learn more about Arch.

我真沒看出來怎麼 simple ,安裝就挺難的,折騰這個需要學習很多知識,而且還容易走彎路,當然了,大牛們是不屑的,通常都會說:Arch 挺簡單的呀,光看Wiki就明白怎麼安裝了。
我不吹牛,我實話實說,我這幾年來,折騰 Arch Linux 安裝來來回回的不下 10 次了,每次都要一邊拿著手機看 WIKI,一邊百度,一邊對著 console 的發呆。這篇隨筆呢,容易的地方,我會只寫執行程式碼,複雜的時候,多一些文獻引用。

下載映象並製作U盤

下載後,用 ultralISO 開啟這個 ISO,選擇選單 啟動 -> 寫入硬碟映像,在彈出的頁面,先選擇你要寫入的 U 盤,然後 寫入方式選擇raw

這點比較重要,當然,你用的不是Windows系統而是其他Linux版本,或者 mac,你可以用 dd 命令來將 ISO 檔案寫入到 U 盤,這個就不介紹了,一般用 Linux 系統的都是大牛級別人物,一點就通的。
對了,還有一件事,就是為系統預留空間,我這邊是直接找了一個100G的分割槽,清空了內容,你也可以用windows的壓縮磁碟擠出空間(我的電腦,右鍵管理,磁碟管理,選擇磁碟,右鍵壓縮),或者用分割槽工具來處理一下。感覺 windows 自帶的就挺好用的。如果在新機器上就不用處理了,直接安裝就是了。
把U盤插到電腦上,準備重啟電腦安裝了。

進入安裝

啟動後,一般電腦來說,按 F8 就進入了啟動選擇列表,選擇 uefi 的 U 盤專案(主機板支援才有),確定後,就進入了 Arch 的啟動介面,最好先插上網線,用 wifi 的也不要著急,啟動後在來設定,現在 Arch 對 wifi 支援也不錯了。一般的網絡卡都能識別到了。
好了,啟動之後,到了輸入帳號的地方,輸入 root 並回車,就會進入系統。

檢視硬碟以及分割槽

正式安裝系統之前,我們先確定幾個問題:

  1. 硬碟是什麼格式的?gpt還是mbr?
  2. 是不是已經存在了系統?
  3. 有沒有 efi 分割槽?

來來來,執行一下 lsblk 來看看磁碟

archlinux% lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 111.8G  0 disk 
└─sda1   8:1    0 111.8G  0 part 
sdb      8:16   0 931.5G  0 disk 
├─sdb1   8:17   0   450M  0 part 
├─sdb2   8:18   0   100M  0 part /boot
├─sdb3   8:19   0   100G  0 part /
├─sdb6   8:22   0   200G  0 part 
├─sdb7   8:23   0   300G  0 part 
└─sdb8   8:24   0   331G  0 part 

我這個是在做完系統後執行的,可能和你的顯示不太一樣,但是不影響效果,簡單介紹一下,這個命令比較直觀的顯示所有硬碟和分割槽,可以看出,是2塊硬碟。第一塊是我的 128 G 的 SSD。第二塊則是我的機械硬碟。SSD上就一個分割槽,我之前裝了 Windows 7。這次要把 Arch 裝到機械硬碟的第三個分割槽(sdb3)上。
你可以看到我的 sdb 裡面是不連續的?為啥呢?是因為我刪除了幾個連續分割槽,合併到 sdb3 上了。刪除和建立分割槽,用 fdisk -l

fdisk -l
p #顯示分割槽
d # 刪除分割槽
w # 儲存

具體命令就看 fdisk 吧,這個還是可以看懂的。
另外,為了清楚的描述硬碟型別,我們用 fdisk -l 把硬碟資訊列出來:

archlinux% sudo fdisk -l          
Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WDC WD10EZEX-22M
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: D016ADAA-FC83-490D-B070-1FD2D722D9FE

Device          Start        End   Sectors  Size Type
/dev/sdb1        2048     923647    921600  450M Windows recovery environment
/dev/sdb2      923648    1128447    204800  100M EFI System
/dev/sdb3     1128448  210876415 209747968  100G Linux filesystem
/dev/sdb6   210876416  630306815 419430400  200G Microsoft basic data
/dev/sdb7   630306816 1259452415 629145600  300G Microsoft basic data
/dev/sdb8  1259452416 1953521663 694069248  331G Microsoft basic data


Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Disk model: Samsung SSD 850 
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: DFF842F3-E5E5-4464-B1FD-12C03014F45E

Device     Start       End   Sectors   Size Type
/dev/sda1   2048 234440703 234438656 111.8G Microsoft basic data

有了上面的 lsblk 做參照,再來看這個 fdisk -l 就清晰很多。硬碟分割槽型別怎麼看呢?主要看這個 Disklabel type: gpt
gpt 就是 gpt 格式,dos 就是 mbr 的,這個首先確定清楚,因為在後面的 grub 的時候要用到,不區分清楚,可能會導致 grub 裝不上,或者裝上了也啟動不了。
我這邊是 gpt格式的,並且有一個 efi 分割槽,這個是之前 安裝 win7 的時候,系統給我帶的,很幸運,不用建立 efi 分割槽,直接用這個分割槽就行了
建立 efi 分割槽也用 fdisk 建立一個 100M 的分割槽,然後格式化為 fat32 格式即可,

# EFI 分割槽格式化為 fat32
mkfs.fat -F32 /dev/sdb2

# 其他 Linux 分割槽格式化為 ext4 格式
mkfs.ext4 /dev/sdb3

這個地方比較重要,我來總結一下:我這邊只建立了一個 Linux 分割槽sdb3用作根目錄 /,我的是GPT的硬碟,EFI 分割槽必須有,不是gpt分割槽格式的,就可以不用建立 efi 分割槽。EFI 分割槽不管是 win7 自帶的,還是手動通過fdisk建立的,都可以用。至於我為什麼沒用建立 swap 和其他類似的 什麼 /home,/usr 等的,我是覺得沒必要。

設定無線連線

沒插網線的同學,如果系統安裝了無線網絡卡,現在就可以測試一下無線網絡卡能不能用了,沒插網線,又沒有無線網絡卡的,就可以退下了。

[[email protected] ~]# wifi-menu iw wireless_tools wpa_supplicant

如果沒有彈出無線網路列表的對話方塊,看看自己的無線網絡卡是啥東西:

# lsusb 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 002: ID 258a:1006  
Bus 001 Device 005: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

看到 Bus 001 Device 005: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter ,其實我知道,我的是 TP Link 的無線網絡卡,https://service.tp-link.com.cn/detail_article_1231.html 上沒有找到答案,問客服,說沒有 Linux 下驅動。於是,自己查檢視看:

[[email protected] ~]# pacman -Ss wireless
。。。。
community/broadcom-wl 6.30.223.271-58
    Broadcom 802.11 Linux STA wireless driver
community/broadcom-wl-dkms 6.30.223.271-18
    Broadcom 802.11 Linux STA wireless driver.
 。。。。

很好,安裝,解決了。

安裝系統

確定好硬碟,安裝系統這塊,還是蠻簡單的,為了表現出簡單,我只用命令來寫了,看懂就行了。

# 把要安裝系統的分割槽,掛接到 /mnt
# mount /dev/sdb3 /mnt  
# 建立一個 boot 目錄,用來掛接 win7 下的 efi 分割槽(sdb2)
# mkdir /mnt/boot
# mount /dev/sdb2 /mnt/boot
# 安裝系統了,我一次性把需要的東西裝上了,如果覺得麻煩,只裝 base 就行。
# pacstrap -i /mnt base base-devel vim dialog
# 向新系統寫入分割槽表
# genfstab -U /mnt >> /mnt/etc/fstab
# 切換到新系統
# arch-chroot /mnt
# 選擇時區,選 asia -> china -> 然後選第一個或者第二個都可以,看你所在地方
# tzselect
# 安裝 grub,os-prober 要安裝的,用來配合 grub 找到之前的win7系統
# pacman -S grub efibootmgr os-prober
# 安裝 grub,這個是 gpt 安裝,mbr的不是這麼樣
# grub-install --target=x86_64-efi --efi-directory=/boot
# 寫入啟動選單
# grub-mkconfig -o /boot/grub/grub.cfg

到現在為止,新系統就安裝到硬碟上了,剩下的就是設定時區,語言等等等雜項了,我們先reboot一下,
重啟:

# 先退出 arch-chroot
# exit
# reboot

完善系統

安裝桌面

如果足夠順利的話,應該能進入系統了。現在只是一個console,我們來安裝桌面,個人只喜歡安裝 gnome,安裝方法也足夠簡單:

# pacman -S gnome gnome-tweaks

pacman 會分析相關依賴專案,只要一路回車就行了,不需要按照其他教程說的,需要 先安裝 xorg ,再裝 gnome,再安裝 gdm 等等。。。
裝完了 gnome,需要把 gdm 加入到開機執行,這樣一開機就能直接進入登入頁面了。

# chkconfig enable gdm

先別慌,貌似忘記了什麼,關於顯示卡,使用者,語言包,還沒處理好。

顯示卡

現在說顯示卡,貌似有點晚,為什麼?我們已經安裝了桌面了,還需要顯示卡驅動麼?這就是 Linux , Keep it sapmle 的精髓,我感覺最坑的就是顯示了,安裝顯示卡驅動只能會好那麼一點點。太雞肋了@——@

# 檢視顯示卡型別
# sudo lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)

我這邊可以看到了,interl 的整合顯示卡。。。(⊙o⊙)… 打遊戲玩不了,跑個 arch 夠了。。。我們搜尋一下 intel 的驅動程式。。。

# pacman -Ss xf86-video
extra/xf86-video-amdgpu 18.1.0-1 (xorg-drivers)
    X.org amdgpu video driver
extra/xf86-video-ati 1:18.1.0-1 (xorg-drivers)
    X.org ati video driver
extra/xf86-video-dummy 0.3.8-3 (xorg-drivers)
    X.org dummy video driver
extra/xf86-video-fbdev 0.5.0-1 (xorg-drivers)
    X.org framebuffer video driver
extra/xf86-video-intel 1:2.99.917+855+g746ab3bb-1 (xorg-drivers) [installed]
    X.org Intel i810/i830/i915/945G/G965+ video drivers
extra/xf86-video-nouveau 1.0.15-3 (xorg-drivers)
    Open Source 2D acceleration driver for nVidia cards
extra/xf86-video-openchrome 0.6.0-3 (xorg-drivers)
    X.Org Openchrome drivers
extra/xf86-video-sisusb 0.9.7-2
    X.org SiS USB video driver
extra/xf86-video-vesa 2.4.0-2 (xorg-drivers xorg) [installed]
    X.org vesa video driver
extra/xf86-video-vmware 13.3.0-1 (xorg-drivers)
    X.org vmware video driver
extra/xf86-video-voodoo 1.2.5-10 (xorg-drivers)
    X.org 3dfx Voodoo1/Voodoo2 2D video driver
community/xf86-video-qxl 0.1.5-6 (xorg-drivers)
    Xorg X11 qxl video driver

找到了:xf86-video-intel,我們只要安裝一下就好,其他的如法炮製吧。我公司裡面的是 nv 的,就安裝 xf86-video-nouveau,顯示卡是 ati 的安裝 xf86-video-ati

# pacman -S xf86-video-intel

桌面主題美化

pacman -U Downloads/ocs-url-3.1.0-1-x86_64.pkg.tar.xz
# 中間需要安裝 chrome 擴充套件
pacman -S chrome-gnome-shell

在這裡插入圖片描述
效果圖:
在這裡插入圖片描述

建立使用者

我們不急著重啟看效果,gdm 預設不讓 root 登入的,我們先建立一個小號:

# 建立一個使用者,並加入到 wheel 組,-m 是建立使用者主目錄
# useradd -m -g wheel fanshengshuai
# 設定該使用者的密碼
# passwd fanshengshuai

小號建立了,目前沒有sudo的許可權,沒有這個許可權,就很難受了,不夠爽,編輯一下 /etc/sudoers ,找到這一行,去掉前面的 #,

# %wheel ALL=(ALL) NOPASSWD: ALL

為了看一下桌面效果,重啟吧,暴力直接。

中文語言包與輸入法

重啟後,應該看到桌面了,輸入小號之後,就進入桌面了,英文的。:),莫慌,慢慢來,跟著我的節奏,慢慢調,滑鼠點一下左上角,或者按一下鍵盤上的 win 鍵,輸入 ter,看到 terminal 的圖標出來了,我們點一下。熟悉的終端窗口出來了,由於我們是小號,執行命令不方便,我們先切換到 root 再見機行事。

# 切換到 root
# sudo su -

我們再點一下左上角,出來程式列表後,輸入 setting,會調出設定框,來,上個圖:

在這裡插入圖片描述

選擇左側的 Region & Language ,就可以選擇語言了,你的介面應該和我不一樣,我這個已經漢化了,右邊第一項就是選擇語言,點進去,看看有沒有漢語