Windows7和Archlinux双系统硬盘安装笔记
俗话说,好记性不如烂笔头,这些东西也都是我Google来的,做个笔记以后自己安装也方便些。
因为官方wiki的Beginners' Guide讲的非常好,大部分步骤按照wiki一步一步来就好了,这里只说一下我的步骤。
Step 1
首先你需要你一个多重引导工具EasyBCD。安装好以后运行,选择左侧的"Add New Entry",然后在右侧选择NeoGrub标签页,并点击Install。接着点Configure,软件会打开C:\NST\menu.lst文件让你编辑,输入以下内容:
title Install ArchLinux
root (hd0,0)
kernel /vmlinuz archisolabel=archlinux
initrd /archiso.img
boot
将下载好的镜像重命名为archlinux.iso并放在C盘根目录,然后用WinRAR打开镜像,提取出目录\ARCH\BOOT\X86_64\下的VMLINUZ.和ARCHISO.IMG两个文件,一并放到C盘根目录。(注:这里你要根据自己的CPU选择,64位CPU就选X86_64目录,32位就选I686目录。)
Step 2
重启电脑,并在引导界面选择"Install ArchLinux"。
选择系统版本之后引导安装系统,会出现错误提示:waiting for device。这时不要重启计算机,等待一段时间,系统退至shell后,依次输入以下命令手动加载ISO:
mkdir /tmpmnt
mount -r -t ntfs /dev/sda1 /tmpmnt
modprobe loop
losetup /dev/loop6 /tmpmnt/archlinux.iso
ln -s /dev/loop6 /dev/disk/by-label/archlinux
exit
接下来的过程和wiki中类似,只作简要说明。
Step 3
建立网络(我用的是路由器,比较方便,其他上网方式请查阅wiki)
dhcpcd
ping一下测试网络是否联通
ping -c 3 www.google.com.hk
连上网第一步当然是配置pacman源
nano /etc/pacman.d/mirrorlist
源列表可以使用Pacman Mirrorlist Generator生成,我只保留了一个最快的。
接着准备分区,考虑到还要和Windows7组成双系统,我选择了MBR分区
fdisk /dev/sda
创建文件系统,并挂载分区
mkfs.ext4 /dev/sda8
mount /dev/sda8 /mnt
注1:这里的/dev/sda8是我自己的分区,相当于Windows下的G盘。Linux下的扩展分区从sda5开始,对应Windows下的D盘,依次类推,G盘也就是/dev/sda8了。
注2:关于swap。我不用休眠功能,而且是4GB内存,没有分swap区。swap分区大小是个众说纷纭的问题,我找到了RedHat的官方文档Recommended Partitioning Scheme,不知道swap分区设置多大好的同学可以看看。反正我自己没用swap分区,目前为止系统运行情况良好。
注3:关于分区方案。我之前装过几次linux都为分区头疼,这个问题大家也是说什么的都有。这次我干脆就一个100GB的大分区,连swap都没有。不过事后证明分一个挂载/home还是不错的,至少换发行版重装系统的时候可以保住数据。嗯,以后就这么干,俩分区:一个/,一个/home。
安装基础系统
pacstrap -i /mnt base
生成fstab
genfstab -U -p /mnt >> /mnt/etc/fstab
Change root
arch-chroot /mnt
设置键盘布局
loadkeys us
语言
nano /etc/locale.gen
取消en_US.UTF-8 UTF-8这行的注释,保存退出。
然后Generate locales
locale-gen
生成locale.conf
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
Time zone
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Hostname
echo Arch > /etc/hostname
dhcpcd服务自启动
systemctl enable dhcpcd.service
设置root密码
passwd
安装Grub
注4:如果需要Grub,这一步请参照wiki。我们要安装双系统,直接就用Windows的Bootloader+NeoGrub好了。
收尾工作
exit
umount /mnt
reboot
Step 4
重启以后进入Windows,编辑C:\NST\menu.lst,把第一步加入的内容改成下面这样:
title Arch Linux
root (hd0,7)
kernel /boot/vmlinuz-linux root=/dev/sda8 ro
initrd /boot/initramfs-linux.img
然后重启就ok了。
下面是一些TIPS,记录使用过程中遇到的小问题与解决方法
使用Windows字体如Calibri, Tahoma显示不正常
建立/etc/fonts/local.conf
文件,将下面的代码贴入
<match target="font" >
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>
Windows和linux双系统时间不一致
首先确保BIOS中的时间为当地时间(localtime),进入Windows确认时间正确,然后进入Linux,输入命令
hwclock -s --localtime