更新Debian 11并给根分区扩容

前天(22号)晚上在准备《在已安装Windows的情况下安装原生Debian组双系统》这篇文章(之所以显示这篇文章是23号的,是因为我折腾到了第二天也就是23号的凌晨才完成并发布)的时候发现Debian出11了,而且还release了[1],于是我心痒痒,就进行了升级,上网找到一篇教程[2],按照教程说的先更新软件源缓存和软件,即执行下面这两条命令

#apt命令需要以root身份执行
sudo apt update
sudo apt upgrade

执行完成后按照北外镜像站的说明,将bullseye的源添加到sources.list里面

北外镜像站截图

文件路径是/etc/apt/sources.list,可能需要以root身份才能编辑并保存,我这里是直接通过vscode已root身份登录的,所以就可以直接编辑并保存,但并不建议这样做,这样做风险较大,万一误操作(比如说著名的rm -rf /命令表情包表情包这个命令如果是在root用户下执行的,那后果可想而知,比普通用户的结果要糟糕得多,如果懒得自己动手,可以直接执行sudo wget -P /etc/apt/ https://302.ba7jcm.top/upload/linux/sources.list这条命令直接一步到位

sources.list截图
修改后的sources.list

如果保存的时候提示没权限可以先另存为~/sources.list,然后依次执行以下命令:

#备份原来的sources.list
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
#把修改后的sources.list放到正确的位置
sudo cp ~/sources.list /etc/apt/sources.list
#更新软件包的源的缓存
sudo apt update
#执行完整更新
sudo apt full-upgrade

执行完之后就开始更新了,执行的时候它说需要大概5G的空间(好像是吧,记不清了表情包),我开始更新之前的占用空间大概是11G,更新完应该是在16G左右

更新到10%
更新到10%
更新到18%
更新到18%
更新途中的宝塔面板截图1
更新途中。。。分区快满了

当初安装的时候我看官网的帮助文档写着需要10G的空间,于是我就给了20G的空间,想着,官方说建议10G,我给20G怎么也该够了,而且更新的时候它说也才要多5GB的空间

更新途中的宝塔面板截图2
还在增加

随着升级的进度条增加,占用的空间在慢慢的增加

更新途中的宝塔面板截图3
这个时候已经更新成11了,但更新还在继续

但是情况并不乐观,占用的空间也在增加的情况过了它前面告诉我的5G

更新途中的宝塔面板截图4
分区快满了

甚至撑满了我的分区

更新途中的宝塔面板截图5
已经满了

我以为更新要失败了,结果没想到它撑满了空间还能继续更新

更新到73%
更新到73%了

不过更新的途中也有一些有趣的事情,比如说下图中这个自言自语的dpkg表情包

自言自语的dpkg
自言自语的dpkg

不过从上面的宝塔面板截图中可以看出,系统已经由Debian10升级到了Debian11,虽然shell里面还在继续更新,而且到最后也顺利的更新完了(没截图),更新完之后系统基本就趋于稳定了,基本不会再有什么大的变动,更新完之后它提示有一批包可以卸载,说是没有用的包,执行sudo apt autoremove命令就自动卸载那些包,卸载完包之后看它更新的时候报有几个fw文件似乎是出了问题,上网查询得知是驱动,我那台机子的无线网卡是博通的[3],而且好像也有Intel的网络芯片,之前安装Debian的时候也报缺一个rtxxxx开头的驱动[4],就依次执行了以下命令安装驱动

sudo apt install firmware-brcm80211 broadcom-sta-dkms firmware-iwlwifi firmware-realtek firmware-misc-nonfree
cd /lib/firmware/rtl_nic/
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtl_nic/rtl8125a-3.fw
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtl_nic/rtl8168fp-3.fw
cd /lib/firmware/i915/
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915/tgl_dmc_ver2_04.bin
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915/skl_guc_33.0.0.bin
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915/bxt_guc_33.0.0.bin
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915/kbl_guc_33.0.0.bin
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915/kbl_guc_33.0.0.bin
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915/glk_guc_33.0.0.bin
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915/kbl_guc_33.0.0.bin
sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915/icl_guc_33.0.0.bin
sudo update-initramfs -u

另外Debian+Intel核显+xfce会产生一个致命的bug——锁屏无法唤醒[5] ,解决方法:

#在/etc/X11/xorg.conf.d/文件夹下创建文件20-intel.conf
#先创建这个目录
sudo mkdir /etc/X11/xorg.conf.d
#创建这个文件
sudo echo >/etc/X11/xorg.conf.d/20-intel.conf

然后用文本编辑器打开它,输入以下内容:

Section "Device"
  Identifier "Intel Graphics"
  Driver "intel"
EndSection

保存退出后即可解决“睡死”问题,杂七杂八的弄完之后一共用掉了16GB的空间,总共20G的分区就显得有点挤,然后就开始查阅大量资料来解决扩容问题,由于我常年使用Windows,手边常备制作好winpe的U盘,一开始我觉得应该不会很难,于是轻车熟路的进入了pe打开diskgenius(下文简称“dg”),把Windows下的D盘缩小10G,然后给ext4扩容10G,一开始还比较顺利,检查D盘错误、调整D盘大小这些都很快完成了,但是到了给ext4扩容的时候dg的的磁盘检查就不通过了

使用diskgenius扩容但失败了的照片
试图使用dg扩容

后来我查阅大量网上的资料,经历无数次失败(由于过程过于漫长,就不作详细讲述,具体上网搜索“ext4分区扩容”等关键词),网上很多资料都是适用于可用空间在ext4后面的,有在线热扩容的,也有卸载分区扩容的,各种方法都试过了,最后还是使用gparted完成了扩容[6]

这玩意的确是图形化界面,直接拖分区就能调整大小,但是它需要先卸载分区才能调整,而我当初划分的时候给Linux的就只有一个分区,所以说需要进入到另一个图形化的Linux里面才能对它的根分区调整,所以说得准备一个有图形化界面的live CD(可以点此下载debian-live-11.0.0-amd64-xfce的光盘镜像),并且还能连上网,进去桌面之后执行下面的命令:

#换源
sudo wget -P /etc/apt/ https://302.ba7jcm.top/upload/sources.list
#更新软件源
sudo apt update
#安装gparted
sudo apt install gparted
#启动gparted
sudo gparted

执行之后会弹出一个新的窗口,在那里面就可以用鼠标完成ext4分区的移动、缩小和扩容,对准你要操作的分区,右键,然后选择“移动/调整大小”,之后直接用鼠标拖就行了,它会警告你潜在的问题,不用管,点继续,最后再点执行,剩下的就交给它来操作了

使用gparted扩容成功的照片
gparted提示成功了

实测扩容后并不会导致grub出问题,一切正常。附上扩容成功的图

扩容成功后的宝塔面板截图
分区已经变成30G了

参考资料:

  1. Debian -- News -- Debian 11 "bullseye" released
  2. debian10 升级至 debian11正式版 « 久酷
  3. debian安装博通无线网卡驱动_donnysong的专栏-CSDN博客
  4. 解决elementaryos下报错W: Possible missing firmware /lib/firmware/rtl_nic/rtl8125a-3.fw for module r8169_KangJiayin的博客-CSDN博客
  5. [Debian10]intel核显使用xfce锁屏会黑屏无法唤醒解决方案 - Daniel_Luo - 博客园
  6. debian如何扩大一个分区? - 知乎用户的回答 - 知乎
点赞
  1. 叶子说道:
    Google Chrome Android 11
    不知道是不是瞎折腾的后遗症,现在这个DNS服务器非常不稳定,日常无响应 :coolapk104: 今晚格盘重装debian
  2. 音也说道:
    Google Chrome Android 11
    可以可以,帖主多来几篇技术文 :zhenbang: :coolapk57:
    1. 叶子说道:
      Google Chrome Windows 10
      :coolapk80: nhml :coolapk118: :coolapk63:
    2. 叶子说道:
      Google Chrome Windows 10
      :coolapk127: :coolapk118:

发表评论

电子邮件地址不会被公开。必填项已用 * 标注