本来在工作机上用winXP,最近想深入Linux开发,于是决定装个Linux。家里的archLinux + awesome用得很好,
于是决定在工作机上也装一套。
不想刻盘,也不想用U盘,通过Grub引导吧。从网上搜了一下,这方面的经验分享很多,我参考的是这一篇。
http://blog.csdn.net/xiaoyanghuaban/article/details/22613987
准备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下的输入法有多逊。
编辑 ~/.xinitrc,内容如下:
export LC_CTYPE="zh_CN.UTF-8"
export XMODIFIERS=@im=fcitx
fcitx -d
exec dbus-launch awesome
注意, awesome 前面的 dbus-launch 是必要的。这样,文件管理器才会显示可以挂载的卷和移动设备。
startx
,开始工作吧。
笔记本之前用 winxp 系统,风扇老是呜呜叫,现在灰常安静有没有。
2015-03-11 Wed