在联想拯救者Y7000 2019 PG0上安装Archlinux

您所在的位置:网站首页 y7000接口介绍 在联想拯救者Y7000 2019 PG0上安装Archlinux

在联想拯救者Y7000 2019 PG0上安装Archlinux

2023-03-10 04:12| 来源: 网络整理| 查看: 265

简单写篇文章记录下我在联想拯救者笔记本上安装Archlinux系统的过程以及遇到的一些问题,希望能给后来者提供一点有价值的参考。虽然ArchWiki上有我这个型号的一些信息,不过有的信息不全,有的也不是十分准确(至少对我是这样)。在这篇文章中我会具体介绍这些。此外,我的笔记本在装Archlinux前升级过BIOS。升级后的版本是BHEC45WW。这个可能会有影响。

〇、这篇文章写给谁

我这篇文章的目标读者是对Linux有一定基础了解并且有了一段时期的使用经验的人强烈刚入门的小白建议用Ubuntu等开箱即用的发行版!以下是我根据个人经验总结的Ubuntu系统和Archlinux系统的优缺点。其实我们平时听说过的各个成规模的发行版都有自己明显的长处和短处,大家根据自己的实际需求选择就好。

Ubuntu的优势有以下几点:

开箱即用。在我亲眼见过的Linux发行版中(Ubuntu, Archlinux, Debian),Ubuntu的安装过程是最简单的(我没见过周围人用deepin或者银河麒麟之类的国产发行版,所以没算上它们)。而且在Ubuntu 22.04中用户是不用自己去修改文件添加镜像源的,系统本身都给你把各种镜像源找好了,你只要用鼠标操作选择适合自己的镜像源就行。软件生态很好。国外的软件就不多说了,国内软件如果有Linux版的话肯定会提供deb包,而且有的deb包在Debian系统下都没法正常安装。各种资料较全。由于用Ubuntu的人太多,很多问题的解决方法和资料基本上都能在网上找到。对于显卡(特别是N卡)的支持工作做的很不错。首先在Ubuntu系统上安装显卡驱动基本上不会遇到什么大问题,大部分情况下都能一次成功。其次安装过程也很简单:从Ubuntu 20.04开始,你可以在软件更新中切换nvidia驱动,整个过程完全用不到命令行。如果是没有装桌面的Server版,只要用apt安装一下驱动就好了。

Ubuntu的缺点如下(这里我就不提Ubuntu被批评不自由那些事了,毕竟大部分人的核心需求不是这个):

内核版本更新慢。去年下半年Ubuntu系统所使用内核长期在5.15版本停留,前两天才升级到了5.19版本。这个缺点可能使用户没法使用一些新出的硬件(毕竟内核版本落后的话驱动可能用不了)。不过这也不全是坏事,据说内核5.18版本对nvidia驱动支持不好。自己换内核版本的话容易换出毛病,我就因为这个问题重装过Ubuntu系统,所以我一般不推荐别人自己动手换内核版本。Ubuntu 22.04里面有广告。Canonical公司在Ubuntu 22.04系统的apt包管理器上加了钩子来宣传它的Ubuntu Pro,你每次apt upgrade的时候这个广告都会弹出来,虽然用户可以用各种解决这个问题(比如给钩子改名,具体操作见下面的代码),但这仅仅是个开始。Canonical公司以后肯定不只有这点小动作。强推Snap。Snap这东西先不说好不好用,目前应该还是没有镜像源的。写这篇文章的时候我在网上搜了一下,目前只找到一篇文章说有镜像源,但我没试过不知道靠不靠谱,根据孤证不立的原则我不太相信它。此外目前Snap这东西在使用方面还有一些问题,我不推荐大家用它,所以这点上我很讨厌Canonical公司把默认的firefox换成Snap版的做法。我觉得Appimage比它要优秀。它由商业公司支持,因此可能在以后对部分地区的用户不友好。目前我们已经看到Ubuntu明确反对俄罗斯并针对来自俄罗斯的用户采取了一系列不友好的措施。其他背后是商业公司的发行版也有类似的举动(比如Fedora)。先不论是非曲直,考虑到目前和以后的国际环境局势,不管我们个人的立场如何,我们有必要做好被针对的准备。正是出于这点,我才会在自己的笔记本上安装持中立立场的Linux发行版作为后备,一旦以后被针对我就可以用更短的时间完成系统和数据以及使用习惯的迁移。# 这是去除广告显示的代码 # 源方案出自B站up主"Linux中国"2023年2月19日的视频《硬核观察》第917期下的评论区 # 我进行了一定程度的改编 cd /usr/lib/ubuntu-advantage && sudo mv apt-esm-json-hook apt-esm-json-hook.fxxkcanonical

说完了Ubuntu的优缺点,接下来我们可以再说一说Archlinux的优缺点。由于我用它还没过几天,因此有些地方可能说的不对,请各位大佬轻喷。

Archlinux的优点如下:

高度自由。Archlinux把大部分选择权都交给了用户,连桌面环境也是这样:用KDE或者GNOME什么的都由着用户来,它不会提供默认的桌面环境。这点对于动手能力强喜欢自己修改各种设置的用户比较好。但对于其他人就不是了。软件生态较好。Archlinux有AUR。虽然Archlinux在软件生态上比不过Ubuntu,但也差不了太多。各种资料也不少。ArchWiki的存在能解决很多问题。内核版本更新快。这就是滚动更新的优势。用户能在最快的时间内用上新出的硬件在Linux系统下的驱动。Archlinux由社区支持,目前来看它还是中立的。我们暂时不用担心它会做出一些针对部分地区用户的事。

Archlinux的缺点如下:

上手难度大。我的台式机就是Ubuntu系统,已经使用了一年了(除了一些文书工作以外我平时都在用它),也有了一定的经验(各种命令什么的也能熟练使用,Linux系统的一些常识也具备了)。但我第一次装Archlinux就遇到了困难:在装好系统后我企图挂载一块机械硬盘,挂载完后重启的时候KDE桌面就崩了,到现在我都不知道是什么问题。当时我连终端都进不去,我尝试了好些方法都没用。在这之后我又重装了大概五六次系统才把这个问题解决了。中间查阅了不少资料,对一个不熟悉Linux系统和命令的小白来说这就是莫大的灾难。Archinstall虽然上手容易一些,但它也是有各种各样的小问题,目前我在网上能看到的教程中大部分用户还在手动安装。滚动更新不稳定。虽然目前大部分Archlinux用户不怎么遇到这种情况了,但滚挂的威胁仍然存在,我想没有人愿意在自己ddl来临的前一两天把系统滚挂以至于耽误进度吧。为了避免这种情况发生,平时用户还得多去Archlinux官网看看有没有什么消息,这其实挺麻烦的,毕竟Windows, Ubuntu, Debian等系统或者Linux发行版用户就不用这么干。AUR的可信度问题。AUR里的软件是Archlinux用户自己制作上传的。较低的门槛使得里面软件的质量良莠不齐,部分软件可能有bug甚至安全性问题存在。虽然很多人说开源的东西更安全,不过这句话仅限于规模大受关注度高的开源项目,很多小的开源项目就是在默默无闻中被废弃的,可能有的bug或者安全问题一直不会被发现。我并不是在否定AUR,相反我认为AUR是一个伟大的举措。Archlinux在目前的用户规模下尽自己所能提供了最好的软件生态,AUR就是这个发行版目前能做到的极限了。如果哪天Archlinux的活跃用户能比现在多个一两倍,我相信AUR的可信度会高很多。

以上就是我根据我自己的经验和经历总结出的两个不同Linux发行版的优缺点。具体选择什么发行版还是要看每个人自己的实际情况和需求。对大部分人来说,操作系统是工具,它首先是用来工作学习娱乐的。因此在选择某个发行版的时候请考虑这个发行版的优点是不是真的符合你的需求,而它的缺点你是否能够忍受。

一、下载Archlinux镜像并用U盘制作安装盘

首先我们需要找一块容量大于等于2G的U盘(建议找块不用的容量小点的U盘,万一哪天系统挂了还能拿它来修复系统),然后去Archlinux官网上找一个中国镜像站下载系统镜像(这里我用的是阿里云提供的镜像),接下来用Win32 Disk Imager之类的工具(Linux系统上直接用dd命令就好)把镜像烧录进去,这样安装盘就制作好了。顺带一提,我下载的是2023年2月1日的镜像。

还有一点,在装系统的时候请找一个不会影响其他人的地方。在装系统的过程中我们很有可能因为输入不当而触发主板的报警铃声。如果你不想影响别人,请找个没人的地方。

二、进入live系统

把U盘插到笔记本上然后开机,按F2键进入BIOS界面,关掉secure boot,然后在boot中把安装盘放到最前面去。做完这一切后保存并退出,接下来就会进入到一个黑乎乎的命令行界面。如下所示:

root@archiso~ #

到这一步就成功进入live系统了。

三、联网

先说电脑有wifi的情况:

首先运行以下命令(打开网络设备,默认是关闭的):

rfkill unblock all

接下来运行以下命令

iwctl

然后就进入到以下界面

[iwd]#

先运行以下命令(找到你的网络设备叫啥)

device list

默认是wlan0或者是wlan1。这里我用wlan0做演示。

然后扫描wifi:

station wlan0 scan

然后列出扫描到的网络:

station wlan0 get-networks

最后使用以下命令联网(假设你要连接的wifi名字叫archwifi)

station wlan0 connect archwifi

接下来输入wifi密码(如果需要的话),然后没啥意外的话就联网成功了。(可以试着ping下baidu之类的网站来验证这一点)

四、分区并挂载

我在自己的笔记本上只装了Archlinux系统(因为我有一台surface来处理文书工作),想要装双系统的可以参考别人的方案,这个我不是很了解。

首先运行以下命令:

lsblk -f

或者

fdisk -l

通过这两个命令我们可以看到电脑上究竟有哪些硬盘设备。一般来说固态硬盘的设备名是/dev/nvme0n1或者和它差不多,而机械硬盘和U盘的设备名则是/dev/sda或者/dev/sdb这种。请注意每个设备对应的名称。

我计划把系统安在固态硬盘上,所以接下来我是这样操作的:

首先运行

cfdisk /dev/nvme0n1

然后我就进入了分区界面,在这个界面把之前所有的分区都删掉(装双系统的话请参考),然后按照如下方案分区:

新建一个500M的分区/dev/nvme0n1p1,类型选择EFI System。新建一个64G的分区/dev/nvme0n1p2,类型选择Linux swap。我本身内存有32G,另外我也打算用它做一些项目,所以分大一点,大家可以根据自己的情况调整。拿剩下的硬盘容量再新建一个分区/dev/nvme0n1p3,类型选择默认即可。确定分区无误后选择写入,然后输入yes,按回车。退出。

此外我还有块大小为1T的西数蓝盘,在这里我也给它分了区:

cfdisk /dev/sdb

我把所有的容量分给了一个区/dev/sdb1,最后写入分区后退出。

这里要注意一点:我第一次安装Archlinux系统的时候是在装好系统后才给这块盘分的区并挂载到指定的目录上,结果KDE直接崩了,它甚至没显示终端界面让我进行补救。我还以为是我挂载硬盘过程出了错或者没装西数硬盘驱动(当然也有可能是别的方面出了问题),但实际上都不是,到现在我也不清楚是啥问题。后来我选择在装系统的时候就给它分区,这才解决了问题。所以如果大家的笔记本上有多块硬盘设备,请在这一步直接分好区并完成硬盘的挂载工作。

接下来我们要把刚分好的区格式化:

# 用FAT32文件系统格式格式化EFI引导分区 mkfs.fat -F 32 /dev/nvme0n1p1 # 用swap格式格式化Linux swap分区 mkswap /dev/nvem0n1p2 # 用ext4文件系统格式格式化其他分区 mkfs.ext4 /dev/nvme0n1p3 mkfs.ext4 /dev/sdb1

完了之后可以用之前提到的lsblk命令查看分区和格式化是否正确。

最后就是挂载分区的工作了:

# 先挂载根目录 mount /dev/nvme0n1p3 /mnt # 再挂载efi mkdir -p /mnt/boot/efi mount /dev/nvme0n1p1 /mnt/boot/efi # 接下来把其他的分区挂载到指定目录上 mkdir /mnt/myarchdata mount /dev/sdb1 /mnt/myarchdata # 最后激活swap分区 swapon /dev/nvme0n1p2

再用一次lsblk命令查看挂载过程有无问题。没问题的话进行下一步。

五、换源

换源可以直接用以下命令:

reflector --country China --age 72 --sort rate --protocol https --save /etc/pacman.d/mirrorlist

或者自己手动换。手动换源的方式如下:

cd /etc/pacman.d # 不会用vim也可以用nano vim mirrorlist

然后把下面这一行放在所有镜像的最前面(我选用的是中科大的镜像,大家也可以用别的镜像):

Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch

保存后再同步一下时间

timedatectl set-ntp true

最后运行以下命令

pacman -Sy

没啥意外的话换源工作就成功了。

六、安装系统和一些其他的工作

首先我们来安装内核。由于我这款笔记本上用的是N卡,加上我也没那么爱折腾,所以我安装的是lts版的内核。

pacstrap /mnt base linux-lts linux-lts-headers linux-firmware base-devel

接下来写入分区表

genfstab -U /mnt >> /mnt/etc/fstab

然后进入安装好的系统

arch-chroot /mnt

如果没有什么意外,我们就从live系统进入到了安装了一半的系统中了。

七、新系统配置1. 安装必要的包

首先安装一些必要的包:

pacman -S neovim iwd ttf-dejavu sudo bluez networkmanager dhcpcd wqy-zenhei ntfs-3g

如果pacman提示有的包已经安装过的话可以把相应的包去了再执行上面的命令。

其中有几个包必须安装:iwd,sudo,networkmanager和dhcpcd。除了sudo以外其他都是和联网相关的,如果你不装的话,到时候拔掉U盘你就会发现没网了,想要联网结果联网必需的包都没下。虽然这问题不是不能解决,但还是会很麻烦。

其他的包我解释一下都是干啥的:neovim是用来代替vim的,ttf-dejavu和wqy-zenhei是字体,bluez是蓝牙用的,ntfs-3g是与ntfs格式磁盘有关的。

2. 设置时区和系统语言# 设置时区为上海,当然也有别的中国城市(重庆,哈尔滨等),在/usr/share/zoneinfo/Asia目录下里是可以看到的。 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock --systohc

修改文件/etc/locale.gen,把

# en_US.UTF-8 UTF-8 ... # zh_CN.UTF-8 UTF-8

两行的注释符号删掉

然后运行以下命令

echo LANG=en_US.UTF-8 >> /etc/locale.conf

把系统语言设置成美式英语。中文的问题可以在后面解决。

3. 设置用户

首先设置root用户密码,用passwd命令就好了。然后新建一个普通用户并把它添加到/etc/sudoers里面去,这样就能用sudo了。这些都没啥好说的。这个不会的话就别强行上archlinux了。

4. 修改主机名和网络

进入到/etc/hostname文件中(一个空文件),随便想一个主机名写进去,我选择用archlinux当我的主机名。

进入到/etc/hosts文件中,加入以下内容并保存

127.0.0.1 localhost ::1 localhost 127.0.1.1 archlinux.localdomain archlinux # 这里可以把archlinux换成你的主机名5. 安装引导

运行以下命令安装引导

pacman -S grub efibootmgr cd / grub-install --target=x86_64-efi --efi-directory=boot/efi --bootloader-id=archlinux

如果是双系统的话,这块稍微有些不一样。

然后配置引导文件

grub-mkconfig -o /boot/grub/grub.cfg6. 退出安装盘exit umount -R /mnt reboot

reboot的时候就可以把安装盘拔下来了。重启后请登录root用户。

7. 激活网络服务systemctl start iwd.service systemctl enable iwd.service systemctl start systemd-resolved.service systemctl enable systemd-resolved.service systemctl enable bluetooth.service systemctl enable NetworkManager systemctl enable dhcpcd8. 配置网络

修改文件 /etc/iwd/main.conf,写入下面的内容并保存

[General] EnableNetworkConfiguration=true NameResolvingService=systemd

修改文件 /etc/NetworkManager/NetworkManager.conf, 写入下面的内容并保存

[device] wifi.backend=iwd

接下来重启并按照之前的方法联网。

9. 安装一些包

由于Y7000用的是Intel的CPU,所以执行以下命令

pacman -S intel-ucode

Y7000用的是GTX 1650移动版显卡,所以执行以下命令

pacman -S mesa nvidia-lts nvidia-settings nvidia-utils nvidia-prime

声卡用下面这条命令就能解决

pacman -S alsa-utils pulseaudio pulseaudio-alsa pulseaudio-bluetooth

把下面的内容写入/etc/modprobe.d/disable_dmic.conf中并保存

options snd_hda_intel dmic_detect=0

接下来我们要配置AUR。首先修改/etc/pacman.conf:在最后加入以下内容并保存

[archlinuxcn] Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

在这之后执行以下命令

pacman -Syu pacman -S archlinuxcn-keyring pacman -Syu

然后我们就可以安装图形化界面和一些工具了,这里我安装了这些东西。

pacman -S plasma konsole dolphin kate ark okular filelight rar zip sddm yay spectacle

这里我解释一下这些包都是干啥的:plasma就是KDE plasma桌面, konsole是终端,dolphin是文件管理器,kate是文本编辑器,ark是解压用的,okular是一个pdf和图片阅读器,filelight是查看硬盘空间的,rar和zip是压缩工具,sddm是桌面管理器,yay是和aur相关的包管理工具,spectacle是截图工具。

装好后执行以下命令

systemctl enable sddm

然后重启,不出意外的话我们就能看到KDE的默认登陆界面了。具体的设置在里面改就行。此外像输入法、别的中文字体这些东西,自己网上搜一下可以装好了。在这里不多说。接下来我会重点说说我遇到了哪些小问题。

首先在装输入法的时候,我用的是fcitx5,很多教程都说使用KDE桌面的话不用设置输入法自启动,但我的情况是必须手动设置,否则用不了这个输入法。设置如下图所示:

打开系统设置,点击开机与关机,选择自动启动,然后把Fcitx 5添加进去

然后是休眠问题。ArchWiki上说这款笔记本无法休眠(尝试让它休眠的话会直接关机),然后它说解决方法是在/etc/mkinitcpio.conf文件中的MODULES中加入intel_lpss_pci,之后mkinitcpio -P就好。但我这么做后并没有解决休眠问题。(在解决这个问题时我看到ArchWiki上说这个模块可以帮助笔记本触控板失灵的用户解决问题,貌似我这边没有这个问题)不仅如此,我在之后挂载硬盘重启的时候还把KDE搞崩了。如果不是挂载硬盘的问题的话那大概率就是这步操作的问题了。这个问题我到现在也没解决,准确来说是不敢解决,因为我不想再把KDE搞崩一次了。更何况没有休眠对我来说问题不大,我就没怎么在windows系统下用过这个功能。而且我也不指望休眠状态能帮一个游戏本省下多少电。目前我是把它当成台式机用。

接下来是CPU风扇问题。不知道是不是控制算法的问题(可能是我的CPU利用率不高吧),自从装了Archlinux后我的风扇就没像以前那样转的那么快过。目前它的温度长期稳定在40-50摄氏度。我试图运行sensors-detect和pwmconfig,但目前还没成功运行,sensors也读不到fan。ArchWiki上说可能得用Lenovo Legion Linux,我打算研究研究再决定要不要用它,毕竟目前温度也没出啥大问题。联想笔记本自带的Fn + Q系统快捷键调整风扇速度我也试了,不过貌似没多大用。

然后我测试了一下笔记本上的HDMI, micro DP和type C接口。ArchWiki上说这些没测过。我这边的情况是:前两个口连接外接显示器没问题,type C接口在接上显卡欺骗器的情况下也能用deskreen软件把新屏幕屏到别的设备上。能不能直接外接显示器我没试,因为我这边没有用来接显示器的带type C接口的线。

目前我遇到的就这些问题,以后遇到什么别的问题再说吧。ArchWiki貌似要注册账号才能编辑,注册完账号后怎么操作我就不知道了,我目前还没搞清楚怎么操作。等我搞清楚怎么做后或许我会把我这边关于hdmi和micro DP接口的试验结果传上去。

至于配置zsh,如何美化桌面这些事我就不说了。网上有一大堆教程,我也不想太折腾。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3