用Grub4dos引导硬盘安装Arch Linux

本来在工作机上用WinXP,最近想深入Linux开发,于是决定装个Linux。家里的Arch Linux + Awesome用得很好,于是决定在工作机上也装一套。

不想刻盘,也不想用U盘,通过Grub引导吧。这方面的经验分享很多,我参考的是这一篇

准备grub4dos

下载Grub4dos,  。

解压,将其中得 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下的输入法有多逊。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/16658.html