2021-05-12 14:32:11
用Grub4dos引導硬碟安裝Arch Linux
本來在工作機上用WinXP,最近想深入Linux開發,於是決定裝個Linux。家裡的Arch Linux + Awesome用得很好,於是決定在工作機上也裝一套。
不想刻盤,也不想用U盤,通過Grub引導吧。這方面的經驗分享很多,我參考的是這一篇 http://www.linuxidc.com/Linux/2015-03/114879.htm。
準備grub4dos
下載Grub4dos, http://www.linuxidc.com/Linux/2009-01/18027.htm 。
解壓,將其中得 grldr
, grub.exe
和 sample 目錄下的 menu.lst
複製到 C:。
修改c:boot.ini
。新增一個啟動項c:grldr="Grub"
,並把預設的入口改為c:grldr
。
[boot loader]
timeout=10
default=c:grldr
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noexecute=alwaysoff
c:grldr="Grub"
你可以重新啟動,試一下看grub4dos是否正常工作。
準備映象
到 https://www.archlinux.org/download/ 下載最新版 ArchLinux,當前的版本是 2015.03.01
。
你可以下載其torrent檔案,然後用bt工具下載,也可以從映象站點直接下載。
下載完之後,映象檔案是 archlinux-2015.03.01-dual.iso
,dual
表示iso裡同時包含了32位元和64位元兩個版本。
將此映象複製到C槽根目錄,並用解壓縮工具解壓出arch/boot/i686
下的兩個檔案: archiso.img 和 vmlinuz,放在C槽根目錄下。(i686表示32位元的系統,如果你想安裝64位元的,就把arch/boot/x86_64
下的兩個檔案解壓出來)
引導
然後在menu.lst
中增加一個入口:
title Install ArchLinux ...
root (hd0,0)
kernel /vmlinuz archisolabel=ARCH-201503
initrd /archiso.img
hd0表示第一個硬碟,如果你只有一個硬碟,它一定是hd0
。
(hd0,0)表示第一個硬碟的第一個分割區。
重新啟動機器,用Install ArchLinux ...
入口,引導進程會因為找不到光碟而停下來,並給你一個root使用者的提示符。
我們手動載入映象:
mkdir /iso
mount -r -t ntfs /dev/sda1 /iso
modprobe loop
losetup /dev/loop6 /iso/archlinux-20150301-dual.iso
ln -s /dev/loop6 /dev/disk/by-label/ARCH-201503
exit
因為我們幫忙掛載好了映象,系統完成了引導,進入系統,我們得到一個root使用者的提示符。
(注意,如果你的C槽是Fat32分割區,就把-ntfs
改為-vfat
。)
準備分割區
執行 fdisk /dev/sda
,新增三個分割區,
- /dev/sda7 (512M, 用於
/boot
), - /dev/sda8 (30G,用於根系統,即
/
), - /dev/sda9 (60G,用於
/home
)
將三個分割區格式化
mkfs.ext4 /dev/sda7
mkfs.ext4 /dev/sda8
mkfs.ext4 /dev/sda9
掛載 /boot
和 /home
# mount /dev/sda8 /mnt
# mkdir /mnt/{boot, home}
# mount /dev/sda7 /mnt/boot
# mount /dev/sda9 /mnt/home
安裝
為了加快軟體下載速度,我們先改一下源列表,編輯 /etc/pacman.d/mirrorlist
。
搜尋China,把中國的映象站點都保留下來,其餘的都刪掉。
然後,把163的映象站點放在第一位。
安裝基本系統和網路工具
pacmstrap /mnt base base-devel net-tools
生成檔案分割區表
genfstab -U -p /mnt >> /mnt/etc/fstab
用 arch-chroot /mnt
改變根目錄,到我們真正安裝的系統下去操作:
- 編輯
locale.gen
,把en_US.UTF-8
,zh_CN.UTF-8
,zh_CN.GBK
,zh_CN.GB2312
,zh_CN.GB18030
前的#
去掉,然後執行locale-gen
生成這些字元集的locale。 - 設定時區,
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 設定主機名,
echo your_host_name >> /etc/hostname
- 生成ramdisk,
mkinitcpio -p linux
- 使用者,先用
passwd
更改root的密碼,然後useradd -m -g users -G wheel -s /bin/bash your_user_name
新增使用者,並passwd your_user_name
設定密碼。
然後exit
退出chroot,重新啟動吧。再進winXP,改一下c:menu.lst
,新增ArchLinux的啟動入口
title GNU/Linux ArchLinux
root (hd0,6)
kernel /boot/vmlinuz-linux root=/dev/sda8 ro vga=791 init=/usr/lib/systemd/systemd
initrd /boot/initramfs-linux.img
boot
重新啟動後,發現ArchLinux沒有自動聯網,我手動執行了一下 dhcpd
,網路就通了。
圖形介面
你可以 lspci -v
看一下,發現所有的裝置都已經被驅動起來。這就是ArchLinux爽的地方。
為xserver安裝顯示驅動: # pacman -S xf86-video-ati xf86-video-intel
。
Ati驅動獨立顯示卡,intel驅動GPU。
檢查有沒有 startx
程式,如果沒有,就安裝 xorg-xinit
。
接下來,就是我常用的軟體了,我最愛的編輯器Emacs和最喜歡的視窗管理器Awesome。
對了,還有fcitx輸入法。因為我用雙拼,所以不覺得Linux下的輸入法有多遜。
編輯 ~/.xinitrc,內容如下:
export LC_CTYPE="zh_CN.UTF-8"
export XMODIFIERS=@im=fcitx
fcitx -d
exec dbus-launch awesome
注意, awesome 前面的 dbus-launch 是必要的。這樣,檔案管理器才會顯示可以掛載的捲和移動裝置。
startx
,開始工作吧。
筆電之前用 winxp 系統,風扇老是嗚嗚叫,現在灰常安靜有沒有。
相關文章