欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

windows10+arch linux双系统 uefi启动

程序员文章站 2022-06-28 23:51:07
安装前的准备Archlinux 安装ISO镜像,下载:http://mirrors.163.com/archlinux/iso/2013.05.01/U盘一个,最好1G以上,格式化成FAT32。把下载的ISO盘里的文件解压到U盘上。如果没弄错的话U盘根目录上应该有EFI,arch,isolinux, ......

安装前的准备
archlinux 安装iso镜像,下载:
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  测试一下~~按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下预装的一堆小游戏也很好玩的说

上图
<ignore_js_op>windows10+arch linux双系统 uefi启动 
<ignore_js_op>windows10+arch linux双系统 uefi启动 
<ignore_js_op>windows10+arch linux双系统 uefi启动

上文转载自:https://forum.51nb.com/forum.php?mod=viewthread&tid=1357766&extra=page%3d1&page=1

扩展补充:

https://www.bbsmax.com/a/mazalpprd9/

美化

 

此处仅为gnome美化
这里先展示一下美化后的样子

 

gnome-tweak-tool

 

如果你安装了gnome-extra,那么这个工具已经被安装了,否则的话

 

  1. sudo pacman -s gnome-tweak-tool

 

图标包

 

这里我使用的numix-circle图标包,这个图标包在aur里,直接用yaourt即可

 

  1. yaourt -s numix-circle-icon-theme-git

 

然后在gnome-tweak-tool里启用主题

 

gtk主题

 

gtk主题我选择了arc主题

 

  1. yaourt -s gtk-theme-arc-git

 

然后在gnome-tweak-tool里启用

 

gnome-shell主题

 

首先在gnome-tweak-tool里的拓展里启用user themes

 

然后安装主题,这里我是用的贴吧的@air_wawei的air主题,并自己做了些修改。

 

首先下载主题 然后解压,将air文件夹放到/usr/share/themes/文件夹里,在gnome-tweak-tool里启用主题

 

gdm背景

 

输入以下指令

 

  1. curl --o http://archibold.io/sh/archibold
  2. chmod +x archibold
  3. ./archibold login-backgroung 你的背景的地址

 

重启后gdm就会变成你要的背景

 

gnome-shell拓展

 

shell拓展请进入自行按照说明安装

 

screenfetch

 

screenfetch可以在终端里输出你的系统logo和状态。

可以用pacman安装:

 

  1. pacman -s screenfetch

 

要让screenfetch在打开终端是自动输出,在~/.bashrc里加入

 

  1. screenfetch

 

dock

 

要获得像苹果osx一样的dock可以用docky或者dash-to-dock
docky的话sudo pacman -s docky即可,docky不支持wayland。
dash-to-dock是gnome拓展,请在自行按照说明安装
我这里装了docky,这是我的docky配置

 

 

 一些优化

sata 启用 ahci 模式

sata 有两种工作模式:原生的 ahci 模式提供更好的性能(如热插拔和 ncq 支持)、模拟的 ide 模式提供更好的兼容性。一般主板出厂默认将 sata 模式设置为 ide 模式,但如今先进的 linux 和 windows 都早已原生支持 ahci,所以我们最好打开 ahci 模式以优化性能。

arch linux 在安装好以后,内核镜像默认没有载入 ahci 驱动模块。修改 /etc/mkinitcpio.conf,添加ahci 到 modules 变量:

modules="ahci"

然后重建内核镜像,重新启动后 ahci 驱动就会加载:

$ mkinitcpio -p linux

在主板 uefi 或 bios 中,将 sata 模式从 ide(或 pata emulation 等等),设置为 ahci(或 native等等)。需要注意的是,如果你还在用 windows xp,它需要安装 ahci 驱动才行。windows vista 及以后的版本则不需要担心这个问题(但如果你是在 windows 安装完成后才启用 ahci 模式,因为安装期间 windows 会自动禁用未使用的存储驱动程序,你需要参考 kb922976(windows vista/7)或kb2751461(windows 8)来启用 ahci 驱动程序)。

设置好以后,你可以从 dmesg 命令的输出里,找到 ahci 和 ncq 成功启用的证据:

$ dmesg
...
scsi subsystem initialized
libata version 3.00 loaded.
ahci 0000:00:1f.2: version 3.0
ahci 0000:00:1f.2: irq 24 for msi/msi-x
ahci 0000:00:1f.2: ahci 0001.0300 32 slots 6 ports 6 gbps 0x10 impl sata mode
ahci 0000:00:1f.2: flags: 64bit ncq led clo pio slum part ems apst 
scsi host0: ahci
scsi host1: ahci
scsi host2: ahci
scsi host3: ahci
scsi host4: ahci
scsi host5: ahci
...
ata5.00: 976773168 sectors, multi 16: lba48 ncq (depth 31/32), aa
...

优化系统启动速度

arch linux 的 systemd-analyze 是个很不错的工具,利用它你可以很直观地观察到系统启动的时间都花到哪儿去了:

$ systemd-analyze
startup finished in 6.857s (firmware) + 3.157s (loader) + 1.870s (kernel) + 8.157s (userspace) = 20.044s

我注意到打开 ahci 后,内核和用户空间的载入速度明显提高了,总启动时间从约 30 秒缩短到 20 秒,效果非常明显。

用下面这个命令,可以了解到是什么东西启动最慢:

$ systemd-analyze blame

此外,还可以把启动过程绘制成 svg 图表供你审阅(用 gnome 的图片预览或 chrome 浏览器都可以打开),这个图表中你还可以观察到是否有启动慢的组件影响到了依赖它的组件的启动:

$ systemd-analyze plot > plot.svg


arch linux 安装指南[2016.01] / 安装问题 / arch linux 中文论坛
https://bbs.archlinuxcn.org/viewtopic.php?id=1037

 

archlinux 安装笔记 | 雾里看花
https://blog.ikke.moe/posts/archlinux-installation-notes/

 

general recommendations (简体中文) - archwiki
https://wiki.archlinux.org/index.php/general_recommendations_(%e7%ae%80%e4%bd%93%e4%b8%ad%e6%96%87)

 

main page (简体中文) - archwiki
https://wiki.archlinux.org/index.php/main_page_(%e7%ae%80%e4%bd%93%e4%b8%ad%e6%96%87)

 

zsh (简体中文) - archwiki
https://wiki.archlinux.org/index.php/zsh_(%e7%ae%80%e4%bd%93%e4%b8%ad%e6%96%87)

---zsh 就是传说中超级强大,要用来替代bash shell的存在

转载自: