Archlinux+Windows 双系统安装手记(UEFI+GPT)

5 mins to read

安装ArchLinux

基本参照

准备工作

  1. 下载ArchLinux的镜像iso
  2. 我在Windows下用Win32 Disk Imager将镜像写入U盘
  3. 在BIOS开启UEFI
  4. uefi引导U盘启动进入ArchLinux LiveCD(选择X86_64 UEFI CD)

分区方案

分区问题让我纠结了很久 最终决定如下 NAME FSTYPE SIZE MOUNTPOINT sda 500G ├─sda1 vfat 512M /boot/EFI ├─sda2 ext4 80G / ├─sda3 ext4 80G /home ├─sda4 ext4 15G /var └─sda5 ntfs 15G /data

我没有分SWAP分区,感觉4G内存一般足够了,不用休眠,不够用的话用swapfile也可以。本来想用btrfs文件系统了,后来不敢尝试就放弃了(虽然说linux3.0+已经对btrfs支持很好了,或许我以后加了SSD会用btrfs)。其他空余空间等装好系统之后在分配,大概会分一个data的分区用于Win7和ArchLinux公用的数据存储。然后其他的会分60GWin7系统盘,100G安装软件盘。

安装

第一次执行 # pacstrap -i /mnt base 的时候错误,然后我把分区都卸载掉,重新格式化分区和挂载。可能是我第一次格式化和挂载的时候有错误提示没注意:( 我先没有安装base-devel,base-devel软件包等上了图形界面再安装。 安装完成 一些基本配置之后,安装GRUB,但是我忘记了生成配置文件,然后重启之后无法引导,才想起来忘记生成配置文件。只好再进入Live CD再安装一次GRUB然后生成配置文件。

安装图形界面

  1. 先安装了intel的显卡驱动,暂时没装Nvidia显卡的驱动
  2. 安装xorg
  3. 安装mesa,添加3D支持
  4. 安装字体(文泉驿)
  5. 开始安装KDE,由于是新手直接完全安装了。突然想起刚才忘了安装触摸板支持,算了,安装好kde再装。
  6. KDE完全安装确实臃肿,貌似要下700+Mb的东西。(完全安装嘛)
  7. 安装KDE简体中文语言包

locale

locale本地化的问题也令我十分困惑,locale.gen里面我设置了en_US(UTF-8)、zh_CN(UTF-8)和zh_CN(GBK),在locale.conf里面设置了LANG=zn_CN.UTF-8。 KDE下没有任何问题,然而转向tty的时候,发现里面的中文全部显示■■■,再看了一下wiki,发现它不建议全局设置成中文,虽然终端显示中文也有办法解决(内核补丁或者安装软件)。只好把locale.conf里面设置成LANG=en_US.UTF-8,但是reboot发现KDE里面的中文字体显示得很难看,有些文字还是显示英文。我只好又改了一次locale.conflocale.conf,重新安装了KDE的中文包,没有修改fontconf。 现在是locale.conf里面设置了LANG=zn_CN.UTF-8,有空再搞内核补丁。

配置和软件

  • 安装ibus-rime pacman -S ibus-rim 安装之后不能输入中文,遂安装fcitx-rime,能启动输入法,但还是不能输入中文。 后来重新安装了几次发现是自己没先安装fcitx,再安装fcitc-rime。
  • 安装alsa-utils声音支持
  • 安装了几个软件Chrome、Firefox、gVim、subime-text。Vim和subime-text这两大神器以后慢慢学吧。
  • Nvidia闭源驱动和mesa有冲突。但是我发现了神器Bumblebee 我的显卡是Intel HD4600+Nvidia GT750M DDR3(喜闻乐见ddr3)
  • Arch的笔记本电源管理确实令人有点摸不着头脑。
  • 安装使用Wicd来管理有线网络和无线网络。在学校的话用华中科大的mentohust来登录锐捷。
  • 双显卡的问题,装了Bumblebee之后,本来还想装lib32-nvidia-utils,但是无论官方源还是Aur都是target not found,只好暂时作罢(解决,enable Multilib)。

本来还以为难点是在UEFI引导问题,实际上Linux的UEFI引导无比地简单,ArchLinux的安装才是我花费最多时间的。果然一直接触图形界面的人一遇上终端还是各种的不习惯。

安装Windows

把Windows7sp1 64位的ISO全部提取到U盘之后,将\efi\microsoft\下的boot复制到\efi\下,用7z打开\sources\install.wim文件, 找到\1\Windows\Boot\EFI\ 这个目录, 找到bootmgfw.efi, 解压出来, 并重命名为bootx64.efi。 放进\efi\boot\下 把U盘插进笔记本,成功用U盘引导,但是却出现了如下错误

"Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:
1. Insert your Windows installation disc and restart your computer
2. Choose your language settings and then click "Next"
3. Click "Repair your computer"
If you do not have this disc, contact your system administrator or computer manufacturer for assitance.
File: \EFI\Microsoft\Boot\BCD
Status: 0xc000000d
Info: An error ocurred while attempting to read the boot configuration data.

我已经试过很多次,用UltraISO写入和直接提取到U盘、7zip解压到U盘,rufus写入镜像这几个方法都试过。甚至重新下过了一个ISO镜像也是如此。完全不能理解。。。 无数次失败和上网求助无果后,没办法,最后尝试安装Win8.1,UltraISO写入,引导,成功!

记得Windows要使用UTC时间

双系统引导下篇post再说吧。

已知未解决问题

  • Archlinux下完全不能调节屏幕亮度,即电源管理无效
  • Linux下声音设备,详细见 这儿