分享

【原创】在预装Win8 (UEFI)的ThinkPad上加装ArchLinux系统

 tim_spac163 2014-06-23
作为码农,电脑上不装个Linux严重影响我装13的形象!在虚拟机里捣鼓Linux感觉实在像是戴了套捣,于是就想装个Linux到本人的签名机上弄个双启动。
我的机器是T530,预装WIN8。是UEFI+GPT+安全启动的“最新科技成果”,嗯,老一套的BootICE+Grub的一招鲜吃遍天的方法行不通了。
经过本人两天的无耻GG**+折腾,终于搞定。整理记录下安装过程,也给大家一个参考。

为什么用ArchLinux呢?一是这货我用得熟悉那么一点点,二是它安装的过程我们是全程介入的,可以“精确制导”,不会误伤原来的Windows8。安装过程主要参考了这个Beginner Guide

安装前的准备
Archlinux 安装ISO镜像,下载:http://mirrors.163.com/archlinux/iso/2013.05.01/
U盘一个,最好1G以上,格式化成FAT32。把下载的ISO盘里的文件解压到U盘上。如果没弄错的话U盘根目录上应该有EFI,arch,isolinux,loader等几个文件夹。打开loader\entries\archiso-x86_64.conf,看到ARCH_201305之类的字样吗?把它作为U盘分区的卷名(分区名)。
给Linux准备分区,如果和我一样整个Linux就一个根分区的话,准备个30G以上的分区吧,我划了200G。这个工作在Windows里用磁盘管理做就可以了,不用格式化。

安装
进入安装环境
插入U盘。
重启计算机,按F1进入BIOS设置:禁用安全启动(Secure Boot),保存退出。
再重启时按F12,进入Boot Loader选择菜单,选你的USB盘。
如果BIOS没弄错的话,你应该能看到三个启动项,选第一个。(两短一长选长的,参考自高考秘籍)
一堆字符过后,进入黑乎乎的命令行环境,这个就是ArchLinux的安装环境了。

联网
用Linux第一要务就是要先联上网,我的电脑是通过无线路由器WIFI上网的。其它的方式请参考Beginning Guide。
#iwconfig   这个命令会显示当前的网卡,找到w开头的那个就是无线网卡了,我的是wlp3s0。
#wifi-menu wlp3s0  连接WIFI,执行后选择你的SSID,输入密码就可以上网了。
#ping www.163.com 测试一下~~按Ctrl+C中断。

小技巧:输入命令时,连按两次TAB键可以自动完成。

挂载分区
记下哪个分区是用来安装Linux的,哪个分区是EFI分区,我的是Linux - /dev/sdc2, EFI - /dev/sdc1, 下面的命令注意分区不要写错了。
#lsblk

装Linux的分区格式化成ext4格式,警告:注意你的分区名,不要照抄。
#mkfs.ext4 /dev/sdc2

把这个分区装载到/mnt上,这样对/mnt目录写文件相当于在这个分区里写文件了。
#mount /dev/sdc2 /mnt

建立efi目录,把EFI分区装载到刚建立的efi目录上。
#mkdir -p /mnt/boot/efi
#mount /dev/sdc1 /mnt/boot/efi
确认一下装载的这个是不是efi分区,输入“#mount”命令, /mnt/boot/efi条目应该是fat格式;“#ls /mnt/boot/efi”命令应该能看到"EFI"目录。

安装基本包
打开mirrorlist文件,把中国的镜像服务器地址放到前面。编辑器可以选nano或是vi,按个人喜欢。
#vi /etc/pacman.d/mirrorlist

开始安装,只装base部分,其它的能启动起来以后再说吧。
#pacstrap -i /mnt base

编辑fstab
把当前的mount状态复制到fstab里
#genfstab -U -p /mnt >> /mnt/etc/fstab
记得打开/mnt/etc/fstab瞧瞧对不对,建议把EFI的那行最后的数字改成0,不让每次都磁盘检查。

把/mnt作为新的根目录
#arch-chroot /mnt

时区,编码
打开locale.gen文件,把en_US.UTF-8, zh_CN.UTF-8, zh_CN.GBK前面的#去掉。
#vi /etc/locale.gen

运行locale-gen命令,重建编码表。
#locale-gen

生成localtime的软链就算设置时区了。
#ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置系统时间是当地时间,Linux默认是UTC时间,Windows默认是当地时间,改成一致。
#hwclock --localtime

设置电脑名,随你喜欢。
#echo ArchHost > /etc/hostname

我用的是WIFI,为了重启后能用上网络,下面这几个工具要装上先(有些可能已经装上了)。ArchLinux用的是pacman命令装软件的。
#pacman -S dialog
#pacman -S wpa_supplicant
#pacman -S netctl
#pacman -S wireless_tools

安装GRUB
GRUB启动, UEFI的系统,要装grub-efi-x86_64和efibootmgr
#pacman -S grub-efi-x86_64, efibootmgr

把GRUB装到EFI分区里,这样就多一条GRUB启动项了。
#grub-install --efi-directory=/boot/efi --bootloader-id=arch-grub --recheck

复制语言文件
#cp /usr/share/locale/en@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

生成grub配置文件,我们已经装有Windows了,后面的grub-mkconfig会调用os-prober在Grub里加一条Windows启动项。
#pacman -S os-prober
#grub-mkconfig -o /boot/grub/grub.cfg

搞定,退出,重启
#exit
#umount /mnt/boot/efi
#umount /mnt
#reboot
===========================================================================
如果人品不太差的话,重启时应该可以进入grub启动菜单了。 启动时按F12还是可以选Windows Boot Manager进入熟悉的Windows。到BIOS里可以修改哪个优先。

配置,完善

用户名:root
密码为空
进入我们装好的Linux。

设个密码先
#passwd

联网
联网是第一要务啊~~
#wifi-menu wlp3s0

每次联想都用wifi-menu一定很不爽,把当前连网的配置激活了,以后就可以直接进网了

显示所有配置,用wifi-menu成功上网的话应该有一个自动生成的。另,这些配置在/etc/netctl目录下,可以自己打开修改。
#netctl list

激活<profile>配置文件,下次启动自动以这个配置联网。
#netctl enable <profile>

安装声音
#pacman alsa-lib alsa-utils alsa-oss

安装X图形系统
#pacman xorg-server xorg-server-utils xorg-xinit

显卡驱动
#pacman xf86-video-intel

触摸板驱动
#pacman xf86-input-synaptics

小型的窗口管理器和终端模拟器,用来测试xorg能不能启动。
#pacman xorg-twm, xterm

运行startx,看下能不能进入图形环境
#startx

成功进入图形环境,好吧,界面难看死~~ 在第一个大框里面输入exit退出X界面。

装KDE
装字体
#pacman -S ttf-dejavu  wqy-microhei

装好看的窗口管理软件了,有很多选择,新手用gnome, kde, xfce4,老手自由发挥,我是新手,我喜欢KDE
#pacman -S kde
#pacman -S kde-l10n-zh_cn

装常用工具
装sudo,以后用普通帐户管理系统能方便一些。
#pacman -S sudo

修改sudoer文件,找到"# %wheel ALL=(ALL) NOPASSWD: ALL"这行,去掉前面的#
#visudo

用vi不爽,装个vim吧
#pacman -S vim

建立vimrc配置文件
#cp /usr/share/vim/vim73/vimrc_example.vim /etc/vimrc

locate和updatedb命令支持,我喜欢的查找文件工具
#pacman -S mlocate

建普通用户
建立普通用户,平时使用时应该只用这个用户就行了,要管理时用sudo命令就行。
#useradd -m -k /etc/skel -G users, wheel <YourLogonName>

退出root帐户
#exit

用你刚建立的普通帐户登录,设置下密码
#passwd

修改当前用户下的.xinitrc文件,这个文件X启动时会自动执行。
#vim ~/.xinitrc

把“# exec startkde”这行前面的#删除,在这行代码前加入export LANG=zh_CN.UTF-8。

再次进入X界面
#startx

这次漂亮多了吧~~有兴趣的话去系统设置里的桌面效果里看下,里面有很酷的特效。

其它
设置一下支持小红点的滚动功能,建立/etc/X11/xorg.conf.d/10-trackpoint.conf文件,在里面输入
Section "InputClass"
        Identifier      "Trackpoint Wheel Emulation"
        MatchProduct    "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device"
        MatchDevicePath "/dev/input/event*"
        Option          "EmulateWheel"          "true"
        Option          "EmulateWheelButton"    "2"
        Option          "Emulate3Buttons"       "false"
        Option          "XAxisMapping"          "6 7"
        Option          "YAxisMapping"          "4 5"
EndSection

GRUB自动生成的Windows启动项不合理,是进不去Windows的,虽然可以启动时按F12进,但是这个错误不改下不爽:
打开/boot/grub/grub.cfg
找到Windows8的那一项,把{}中间的内容改成:
{
  insmod part_gpt
  insmod chain
  set root='(hd0,gpt2)'
  chainloader /efi/Microsoft/Boot/bootm***.efi
}
set root='(hd0,gpt2)'你的可能和我的不一样,不过预装的应该都是这个。

其它软件就自由发挥了,KDE已经集成了一大堆软件,我基本上装个libreoffice(就是OpenOffice), fcitx输入法就差不多够用了。另外,KDE下预装的一堆小游戏也很好玩的说

上图
[attach]1605183[/attach]
[attach]1605184[/attach]
[attach]1605185[/attach]作为码农,电脑上不装个Linux严重影响我装13的形象!在虚拟机里捣鼓Linux感觉实在像是戴了套捣,于是就想装个Linux到本人的签名机上弄个双启动。
我的机器是T530,预装WIN8。是UEFI+GPT+安全启动的“最新科技成果”,嗯,老一套的BootICE+Grub的一招鲜吃遍天的方法行不通了。
经过本人两天的无耻GG**+折腾,终于搞定。整理记录下安装过程,也给大家一个参考。

为什么用ArchLinux呢?一是这货我用得熟悉那么一点点,二是它安装的过程我们是全程介入的,可以“精确制导”,不会误伤原来的Windows8。安装过程主要参考了这个Beginner Guide

安装前的准备
Archlinux 安装ISO镜像,下载:http://mirrors.163.com/archlinux/iso/2013.05.01/
U盘一个,最好1G以上,格式化成FAT32。把下载的ISO盘里的文件解压到U盘上。如果没弄错的话U盘根目录上应该有EFI,arch,isolinux,loader等几个文件夹。打开loader\entries\archiso-x86_64.conf,看到ARCH_201305之类的字样吗?把它作为U盘分区的卷名(分区名)。
给Linux准备分区,如果和我一样整个Linux就一个根分区的话,准备个30G以上的分区吧,我划了200G。这个工作在Windows里用磁盘管理做就可以了,不用格式化。

安装
进入安装环境
插入U盘。
重启计算机,按F1进入BIOS设置:禁用安全启动(Secure Boot),保存退出。
再重启时按F12,进入Boot Loader选择菜单,选你的USB盘。
如果BIOS没弄错的话,你应该能看到三个启动项,选第一个。(两短一长选长的,参考自高考秘籍)
一堆字符过后,进入黑乎乎的命令行环境,这个就是ArchLinux的安装环境了。

联网
用Linux第一要务就是要先联上网,我的电脑是通过无线路由器WIFI上网的。其它的方式请参考Beginning Guide。
#iwconfig   这个命令会显示当前的网卡,找到w开头的那个就是无线网卡了,我的是wlp3s0。
#wifi-menu wlp3s0  连接WIFI,执行后选择你的SSID,输入密码就可以上网了。
#ping www.163.com 测试一下~~按Ctrl+C中断。

小技巧:输入命令时,连按两次TAB键可以自动完成。

挂载分区
记下哪个分区是用来安装Linux的,哪个分区是EFI分区,我的是Linux - /dev/sdc2, EFI - /dev/sdc1, 下面的命令注意分区不要写错了。
#lsblk

装Linux的分区格式化成ext4格式,警告:注意你的分区名,不要照抄。
#mkfs.ext4 /dev/sdc2

把这个分区装载到/mnt上,这样对/mnt目录写文件相当于在这个分区里写文件了。
#mount /dev/sdc2 /mnt

建立efi目录,把EFI分区装载到刚建立的efi目录上。
#mkdir -p /mnt/boot/efi
#mount /dev/sdc1 /mnt/boot/efi
确认一下装载的这个是不是efi分区,输入“#mount”命令, /mnt/boot/efi条目应该是fat格式;“#ls /mnt/boot/efi”命令应该能看到"EFI"目录。

安装基本包
打开mirrorlist文件,把中国的镜像服务器地址放到前面。编辑器可以选nano或是vi,按个人喜欢。
#vi /etc/pacman.d/mirrorlist

开始安装,只装base部分,其它的能启动起来以后再说吧。
#pacstrap -i /mnt base

编辑fstab
把当前的mount状态复制到fstab里
#genfstab -U -p /mnt >> /mnt/etc/fstab
记得打开/mnt/etc/fstab瞧瞧对不对,建议把EFI的那行最后的数字改成0,不让每次都磁盘检查。

把/mnt作为新的根目录
#arch-chroot /mnt

时区,编码
打开locale.gen文件,把en_US.UTF-8, zh_CN.UTF-8, zh_CN.GBK前面的#去掉。
#vi /etc/locale.gen

运行locale-gen命令,重建编码表。
#locale-gen

生成localtime的软链就算设置时区了。
#ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置系统时间是当地时间,Linux默认是UTC时间,Windows默认是当地时间,改成一致。
#hwclock --localtime

设置电脑名,随你喜欢。
#echo ArchHost > /etc/hostname

我用的是WIFI,为了重启后能用上网络,下面这几个工具要装上先(有些可能已经装上了)。ArchLinux用的是pacman命令装软件的。
#pacman -S dialog
#pacman -S wpa_supplicant
#pacman -S netctl
#pacman -S wireless_tools

安装GRUB
GRUB启动, UEFI的系统,要装grub-efi-x86_64和efibootmgr
#pacman -S grub-efi-x86_64, efibootmgr

把GRUB装到EFI分区里,这样就多一条GRUB启动项了。
#grub-install --efi-directory=/boot/efi --bootloader-id=arch-grub --recheck

复制语言文件
#cp /usr/share/locale/en@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

生成grub配置文件,我们已经装有Windows了,后面的grub-mkconfig会调用os-prober在Grub里加一条Windows启动项。
#pacman -S os-prober
#grub-mkconfig -o /boot/grub/grub.cfg

搞定,退出,重启
#exit
#umount /mnt/boot/efi
#umount /mnt
#reboot
===========================================================================
如果人品不太差的话,重启时应该可以进入grub启动菜单了。 启动时按F12还是可以选Windows Boot Manager进入熟悉的Windows。到BIOS里可以修改哪个优先。

配置,完善

用户名:root
密码为空
进入我们装好的Linux。

设个密码先
#passwd

联网
联网是第一要务啊~~
#wifi-menu wlp3s0

每次联想都用wifi-menu一定很不爽,把当前连网的配置激活了,以后就可以直接进网了

显示所有配置,用wifi-menu成功上网的话应该有一个自动生成的。另,这些配置在/etc/netctl目录下,可以自己打开修改。
#netctl list

激活<profile>配置文件,下次启动自动以这个配置联网。
#netctl enable <profile>

安装声音
#pacman alsa-lib alsa-utils alsa-oss

安装X图形系统
#pacman xorg-server xorg-server-utils xorg-xinit

显卡驱动
#pacman xf86-video-intel

触摸板驱动
#pacman xf86-input-synaptics

小型的窗口管理器和终端模拟器,用来测试xorg能不能启动。
#pacman xorg-twm, xterm

运行startx,看下能不能进入图形环境
#startx

成功进入图形环境,好吧,界面难看死~~ 在第一个大框里面输入exit退出X界面。

装KDE
装字体
#pacman -S ttf-dejavu  wqy-microhei

装好看的窗口管理软件了,有很多选择,新手用gnome, kde, xfce4,老手自由发挥,我是新手,我喜欢KDE
#pacman -S kde
#pacman -S kde-l10n-zh_cn

装常用工具
装sudo,以后用普通帐户管理系统能方便一些。
#pacman -S sudo

修改sudoer文件,找到"# %wheel ALL=(ALL) NOPASSWD: ALL"这行,去掉前面的#
#visudo

用vi不爽,装个vim吧
#pacman -S vim

建立vimrc配置文件
#cp /usr/share/vim/vim73/vimrc_example.vim /etc/vimrc

locate和updatedb命令支持,我喜欢的查找文件工具
#pacman -S mlocate

建普通用户
建立普通用户,平时使用时应该只用这个用户就行了,要管理时用sudo命令就行。
#useradd -m -k /etc/skel -G users, wheel <YourLogonName>

退出root帐户
#exit

用你刚建立的普通帐户登录,设置下密码
#passwd

修改当前用户下的.xinitrc文件,这个文件X启动时会自动执行。
#vim ~/.xinitrc

把“# exec startkde”这行前面的#删除,在这行代码前加入export LANG=zh_CN.UTF-8。

再次进入X界面
#startx

这次漂亮多了吧~~有兴趣的话去系统设置里的桌面效果里看下,里面有很酷的特效。

其它
设置一下支持小红点的滚动功能,建立/etc/X11/xorg.conf.d/10-trackpoint.conf文件,在里面输入
Section "InputClass"
        Identifier      "Trackpoint Wheel Emulation"
        MatchProduct    "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device"
        MatchDevicePath "/dev/input/event*"
        Option          "EmulateWheel"          "true"
        Option          "EmulateWheelButton"    "2"
        Option          "Emulate3Buttons"       "false"
        Option          "XAxisMapping"          "6 7"
        Option          "YAxisMapping"          "4 5"
EndSection

GRUB自动生成的Windows启动项不合理,是进不去Windows的,虽然可以启动时按F12进,但是这个错误不改下不爽:
打开/boot/grub/grub.cfg
找到Windows8的那一项,把{}中间的内容改成:
{
  insmod part_gpt
  insmod chain
  set root='(hd0,gpt2)'
  chainloader /efi/Microsoft/Boot/bootm***.efi
}
set root='(hd0,gpt2)'你的可能和我的不一样,不过预装的应该都是这个。

其它软件就自由发挥了,KDE已经集成了一大堆软件,我基本上装个libreoffice(就是OpenOffice), fcitx输入法就差不多够用了。另外,KDE下预装的一堆小游戏也很好玩的说

上图
[attach]1605183[/attach]
[attach]1605184[/attach]
[attach]1605185[/attach]

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多