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
對了,還有一件事,就是為系統預留空間,我這邊是直接找了一個100G的分割槽,清空了內容,你也可以用windows的壓縮磁碟擠出空間(我的電腦,右鍵管理,磁碟管理,選擇磁碟,右鍵壓縮),或者用分割槽工具來處理一下。感覺 windows 自帶的就挺好用的。如果在新機器上就不用處理了,直接安裝就是了。
把U盤插到電腦上,準備重啟電腦安裝了。
進入安裝
啟動後,一般電腦來說,按 F8 就進入了啟動選擇列表,選擇 uefi 的 U 盤專案(主機板支援才有),確定後,就進入了 Arch 的啟動介面,最好先插上網線,用 wifi 的也不要著急,啟動後在來設定,現在 Arch 對 wifi 支援也不錯了。一般的網絡卡都能識別到了。
好了,啟動之後,到了輸入帳號的地方,輸入 root 並回車,就會進入系統。
檢視硬碟以及分割槽
正式安裝系統之前,我們先確定幾個問題:
- 硬碟是什麼格式的?gpt還是mbr?
- 是不是已經存在了系統?
- 有沒有 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 ,就可以選擇語言了,你的介面應該和我不一樣,我這個已經漢化了,右邊第一項就是選擇語言,點進去,看看有沒有漢語