本来在工作机上用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:oot.ini。添加一个启动项
c:grldr="Grub",并把默认的入口改为
c:grldr。
[boot loader]timeout=10default=c:grldr[operating systems]multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noexecute=alwaysoffc: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-201503initrd /archiso.imghd0表示第一个硬盘,如果你只有一个硬盘,它一定是
hd0。
(hd0,0)表示第一个硬盘的第一个分区。重启机器,用
Install ArchLinux ...入口,引导进程会因为找不到光盘而停下来,并给你一个root用户的提示符。我们手动加载镜像:
mkdir /isomount -r -t ntfs /dev/sda1 /isomodprobe looplosetup /dev/loop6 /iso/archlinux-20150301-dual.isoln -s /dev/loop6 /dev/disk/by-label/ARCH-201503exit因为我们帮忙挂载好了镜像,系统完成了引导,进入系统,我们得到一个root用户的提示符。(注意,如果你的C盘是Fat32分区,就把
-ntfs改为
-vfat。)
准备分区
运行
fdisk /dev/sda,添加三个分区,
- /dev/sda7 (512M, 用于
/boot), - /dev/sda8 (30G,用于根系统,即
/), - /dev/sda9 (60G,用于
/home)
将三个分区格式化
mkfs.ext4 /dev/sda7mkfs.ext4 /dev/sda8mkfs.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 ArchLinuxroot (hd0,6)kernel /boot/vmlinuz-linux root=/dev/sda8 ro vga=791 init=/usr/lib/systemd/systemdinitrd /boot/initramfs-linux.imgboot重启后,发现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=fcitxfcitx -dexec dbus-launch awesome注意, awesome 前面的 dbus-launch 是必要的。这样,文件管理器才会显示可以挂载的卷和移动设备。
startx,开始工作吧。笔记本之前用 winxp 系统,风扇老是呜呜叫,现在灰常安静有没有。
本文永久更新链接地址