admin 管理员组文章数量: 887007
笔记本双显卡 EFI 启动安装 ArchLinux
推荐准备一个 ≥ 4G 的U盘,用U盘安装系统,并且在操作错误的时候能再次通过U盘启动拯救系统。建议手里有两台电脑或一个 Pad 用于浏览本文和官方 WiKi 爬坑。手机…估计看起来很累
这里以当前系统为 Windows 系统举例安装,国内镜像下载地址:163。打开后选择最新的日期,截止博文日期最新为:2017.02.01/。下载那个 archlinux-20xx.xx.xx-*.iso
就行。然后下载 Win32 Disk Imager,用于写入镜像到U盘,操作非常简单,浏览的时候右下角的文件过滤选择 *.*,然后选择下载好的 ISO 镜像并选择正确的U盘盘符即可写入。
需要注意一点,首先你得清楚你当前系统的启动方式是 MBR 还是 EFI
不过问题不大,从U盘启动的时候,如果是 EFI,ArchLinux 会显示 EFI 字样。
准备工作
除了U盘的工作需要提前准备外,另一个就是建议准备好 Free Space,提前划分一部分空闲的空间出来,假设现在是 500G 的机械硬盘,3个分区 C、D、E,我们利用 Windows 中的【计算机管理 - 磁盘管理 - 压缩卷】功能来得到一部分空间用于 ArchLinux,例如在磁盘管理中对着 E 盘右键选择“压缩卷”,然后会让你输入需要压缩的空间大小,计算一下,如果你准备给 Linux 50G 的空间,就是 50 × 1024M = 51200M。当然如果内存偏小的用户建议在安装的时候留一部分空间用来做 Swap 分区,这个后面会说到。这里就先得到一部分空间,注意不要格式化!
从U盘启动
启动后选择第一个选项进入 ArchLinux 安装,稍等一会儿,屏幕上会有一堆绿色的 [ OK ],之后进入到命令行界面,大致如下:
Arch Linux 4.x.x-1-ARCH (tty1)
archiso login: root (automatic login)
root@archiso ~ #_
ArchLinux 分区工作
熟练分区请跳过这里,新手建议仔细阅读
首先通过命令 fdisk -l
查看当前各个分区设备号,记下 EFI System 的 Device 部分,例如我的显示为 /dev/sda1
,然后输入命令 cfdisk
【新手必备】,可以看到下方有一个绿色的行,Device 显示为 Free Space,Size Type 显示为 50G(我留下的空间大小是 50G),通过 ↓ 键移动到这一行,屏幕最下方通过 ← → 选择到 [ New ] 上并回车,提示输入分区大小。前文说过内存小的用户建议在这里预留 Swap 分区,例如我总共剩余空间为 50G,这里可以分配 45G,剩下 5G 创建 Swap 分区。所以这里我输入 45G
并回车。接着下面剩下的 5G 也 New 一个,分区大小直接回车。
最后记得把 5G 这个小分区的分区类型修改为 Swap,移动到 5G 分区,下方选择 [ Type ] 回车,出现分区类型表,选择 Linux swap 即可。至此 45G 分区类型应该为 Linux filesystem,5G 分区类型为 Linux swap。不要忘记写入分区修改,下方选择 [ Write ] 并输入 yes
写入分区表完成分区工作。
选择 [ Quit ] 退出分区工具 cfdisk
格式化分区
这部分比较简单
-
首先
fdisk -l
查看新的分区情况,记下 Linux filesystem 和 Linux swap 两个类型的 Device 部分,例如/dev/sda6
和/dev/sda7
-
通过
mkfs.ext4 /dev/sdaN
格式化 Linux filesystem 分区【此处的 N 替换为你刚刚查看的 Linux filesystem 设备号,例如我的是 6,则这里应该输入命令mkfs.ext4 /dev/sda6
】。如果有提示输入y
继续则输入后回车。 -
通过
mkswap /dev/sdaN
格式化 Linux swap 分区,同上 N 替换为你的 Linux swap 设备号,如果没有创建 swap 分区请忽略此步骤。
挂载分区并安装基本系统
请一定记得替换 N 为你的设备号
首先挂载你的 Linux filesystem 到 /mnt
。
mount /dev/sdaN /mnt
因为使用的 EFI 引导,所以得先做一个准备工作【☆重要】
mkdir -p /mnt/boot/efi
挂载 EFI System 分区到 /mnt/boot/efi
。如果忘记了随时 fdisk -l
查看。
mount /dev/sdaN /mnt/boot/efi
激活 Linux swap 分区。(如果没有请忽略)
swapon /dev/sdaN
选择镜像源
通过访问 Arch Linux - Pacman China Mirrors 获得最新的可用镜像,个人推荐 163。
替换镜像为国内
cd /etc/pacman.d
mv ./mirrorlist ./mirrorlist.bak
nano ./mirrorlist
(也可以用vim)在弹出的 nano
编辑器中输入国内的地址然后 Ctrl+O 保存,Ctrl+X 退出。
【不要问我为什么我也不想,2月这个镜像的 mirrorlist 里面全是没有打 # 号的,难不成要一个一个添加只保留 China 那个…我认了,自动选择太费时…我多输了几次已经背下了下面的 163 地址…泪目】
编辑 mirrorlist 的时候按下方格式输入
Server = http://mirrors.163/archlinux/$repo/os/$arch
连接网络
如果是有线连接,直接插上线后就可以了 dhcpcd
是默认启用的
如果是无线连接,输入命令 wifi-menu
选择你的 WiFi,输入密码回车稍等就连接啦。
测试一下:ping -c 3 www.baidu
看看通了没,
更新系统时间
直接 timedatectl set-ntp true
时差问题先不用理会。
安装基本系统
先刷新本地数据库
pacman -Syy
接着安装
pacstrap -i /mnt base base-devel
输入后需要按两次回车再输个 y
,然后抽根烟喝杯茶冷静冷静…
配置系统
生成 fstab 文件
genfstab -U /mnt >> /mnt/etc/fstab
检查一下,可以看到 EFI、ext4、swap 等分区卷标信息
cat /mnt/etc/fstab
切换到已安装的 ArchLinux 系统
arch-chroot /mnt
切换后左边变成了
[root@archiso /]# _
设置时区
等同于北京
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
然后 UTC 时间
hwclock --systohc --utc
本地化
nano /etc/locale.gen
移除下方 4 个前的 #
保存即可
#en_US.UTF-8 UTF-8
#zh_CN.GBK GBK
#zh_CN.UTF-8 UTF-8
#zh_CN.GB2312
执行 locale-gen
生成
官方建议: 将系统 locale 设置为 en_US.UTF-8,系统的 Log 会以英文显示,这样更容易判断问题和处理。
echo LANG=en_US.UTF-8 > /etc/locale.conf
主机名
myhostname 为你的主机名称,可以设置电脑名,例如 ASUS-ArchLinux-Notebook
echo myhostname > /etc/hostname
添加对应信息到 /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 myhostname.localdomain myhostname
# 例如 127.0.1.1 ASUS-ArchLinux-Notebook.localdomain ASUS-ArchLinux-Notebook
无线网络
不安装进系统可是没法联网的【☆重要】
pacman -S iw wpa_supplicant dialog
安装引导工具
不安装你从哪儿启动系统呢?【☆重要】
EFI 和 BIOS Legacy 不一样(过滤我这句话)
第二行 --bootloader-id
的值是可以自定义的,影响你开机选择所显示内容,如果想好看一点可以设置为 --bootloader-id=ArchLinux
pacman -S dosfstools grub efibootmgr os-prober
grub-install --efi-directory=/boot/efi --bootloader-id=grub --recheck
grub-mkconfig -o /boot/grub/grub.cfg
忽略执行 grub-mkconfig
下方的错误,前几行包含 Found XXX.img
就行。
后续部分
引导安装完成后执行
exit
reboot
开机时打开 Boot Menu,可以看到 grub 或 ArchLinux 选项,选择 grub 或 ArchLinux 进入。
【如果 grub 引导失败,没有执行到让你输入用户名登录的界面,请插上U盘并从U盘启动后重新安装引导和配置】
进入 ArchLinux 系统
假设已经进入到登录界面,输入用户名 root
【无密码】回车进入1
为 root 用户设置密码
passwd root
添加普通用户
替换 username 为你的用户名,例如 maxsky
-m 创建用户 home 目录
-g 指定用户组,这里添加为 users
-s 登录新账户的 SHELL
useradd -m -g users -s /bin/bash username
为新用户设置密码
passwd username
设置新用户 root 权限
nano /etc/sudoers
在 root ALL=(ALL)
下方添加例如 maxsky ALL=(ALL)
设置 wheel 组权限
去掉 #%wheel ALL=(ALL) ALL
前的 #
号
安装字体
pacman -S ttf-dejavu wqy-microhei wqy-zenhei
音频
pacman -S alsa-utils
显卡驱动
确定显卡型号,记下左边的 BusID,类似 00:02.0 VGA…
Intel 和 NVIDIA 的话,两个都要记下
lspci | grep VGA
双显卡是非常尴尬的,先装一个 Intel 驱动吧
pacman -S xf86-video-intel
Intel + NVIDIA 参阅文档:NVIDIA Optimus【中文文档长时间未翻译,还是看英文原版】
需要安装这些
pacman -S nvidia nvidia-libgl xorg-xrandr
完成后生成一份 N 卡配置,位于 /etc/X11/xorg.conf
nvidia-xconfig
修改这个文件
nano /etc/X11/xorg.conf
多余部分删掉,参照下方内容配置 N 卡,BusID 那里 N 卡一般是 BusID "PCI:1:0:0"
【注意格式,00:02.0 这种形式需要转换成 0:2:0】
Section "Module"
Load "modesetting"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:NVIDIA 的 BusID"
Option "AllowEmptyInitialConfiguration"
EndSection
完成后保存并进入 /etc/X11/xorg.conf.d
目录
cd /etc/X11/xorg.conf.d
新建文件并编辑
nano 20-intel.conf
内容如下,Intel 的 BusID 一般是 BusID "PCI:0:2:0"
Section "Device"
Identifier "intel"
Driver "modesetting"
BusID "PCI:Intel 的 BusID"
EndSection
完成后保存进入下一节
安装桌面环境
自选桌面环境,这里以 plasma 举例,第二个是触摸板支持
pacman -S plasma kdebase kde-l10n-zh_cn
pacman -S xf86-input-synaptics
需要注意一点,所选的桌面环境不同,启动显卡的配置也不同
建议仔细阅读:Display Managers
下表如无特殊备注,均在第二列的添加位置内添加如下内容
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
显示管理器 | 配置添加位置 | 备注 |
---|---|---|
LightDM | /etc/lightdm/display_setup.sh | 记得 chmod 添加 x 权限。 |
/etc/lightdm/lightdm.conf | [Seat:*] 里添加 display-setup-script=/etc/lightdm/display_setup.sh | |
SDDM | /usr/share/sddm/scripts/Xsetup | |
GDM | /usr/share/gdm/greeter/autostart/optimus.desktop | 创建此文件,文件内容参考2 |
/etc/xdg/autostart/optimus.desktop | 创建此文件,文件内容同上 | |
KDM | /usr/share/config/kdm/Xsetup |
添加后重启
进入桌面系统
重启后还是回到了命令行登录界面,保险起见,我们没有开机自启桌面
因为如果显卡没有配置正确,会卡在黑屏上,又得插上U盘慢慢折腾,所以小心为上我们一步步来
如果前面的配置没有问题,此时输入下面的命令稍后就会出现登录 UI 了
【如果安装的 gnome 这里应该的 sddm
应替换为 gdm
,以此类推】
systemctl start sddm
桌面 WiFi 配置
选择用户(这里建议用新建的普通用户)输入密码进入系统,先把桌面系统的 WiFi 管理器弄上
sudo systemctl enable NetworkManager
一般来说是有的,如果没有这货先用 wifi-menu
连接 WiFi 后下载
【有个坑,有时候是 networkmanager,有时候又是 NetworkManager。自己尝试】
sudo pacman -S networkmanager
尾声
把桌面管理器设置自启
如果前一步能正常进入桌面UI,这里就可以设置桌面管理器的自启了。
注意把 sddm 替换成你所安装的桌面管理器
sudo systemctl enable sddm
如果 Windows 启动项没了看这里
EFI 引导一般不会丢,开机在 BIOS 通过笔记本的 F12 等键启动 Boot Menu,会发现有一个 Windows Boot Manager,这货就是用来启动 Windows 的。
保险起见还可以在进入 ArchLinux 桌面系统后,使用下面的命令重新生成 grub 配置,这样在开机启动 ArchLinux 时就有第三个选项了。
sudo grub-mkconfig -o /boot/grub/grub.cfg
没什么内容了
此文针对 I + N 卡描述,A 卡需要自己爬官网 WiKi: ArchLinux - ATI。
WiKi 上基本都有中文的翻译,但是注意日期,部分页面过于陈旧请尽量阅读英文原文
[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer
建议在没有进入桌面系统前都使用
root
用户登录。 ↩︎文件内容 ↩︎
版权声明:本文标题:笔记本双显卡 EFI 启动安装 ArchLinux 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729036310h1309793.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论