这台计算机上的Linux版本使用的是内核版本2.6.28-11,所以我们已经满足了内核版本的要求。
说真的,如果你还没有达到这个要求,现在就停止吧。仅仅靠得够近是不够的。您必须达到或超过此内核版本号。
现在,我们将使用blKID检查磁盘标识符,它标识系统上的块设备。
blkid
该系统有一个硬盘驱动器(SDA),其上有一个挂载在/dev/sda1处的文件系统(Sda1)。这是一个ext3文件系统。这是我们要转换的文件系统。
还有一种名为交换的文件系统,但我们对此不感兴趣。
使用Live CD重新启动
插入Live CD并重新启动计算机。您可能需要在重新启动过程中按任意键,才能使计算机从CD启动。要按的键将在启动过程的早期阶段显示。动作要快-机会之窗不会持续太久。如果错过,请重新启动并重试。
当您引导到Live CD环境时,请确保不会意外启动安装。花点时间阅读一下提供给您的选项,如果有类似于“try DistributionName”的选项,请选择该选项。
成为根
打开终端窗口并键入以下命令。这实际上使您成为root用户,这意味着您不需要在每个命令前面键入sudo。
sudo bash
请注意,命令提示符已更改。你是根。小心行事。
识别文件系统
我们需要再次标识文件系统,看看它们在这个Linux实例中是如何显示的。
fdisk -l
您将看到一些类似以下内容的输出。
我们之前标识为sda1的文件系统已被Live CD Linux找到并识别。这是第一个小型里程碑。
第二个是转换文件系统。
转换文件系统
这里列出了两个命令,一个用于从ext2转换到ext4,另一个用于从ext3转换到ext4。请确保您使用的是正确的!
要从ext2转换为ext4,请使用以下命令:
tune2fs -O extents,uninit_bg,dir_index,has_journal /dev/sda1
要从ext3转换为ext4,请使用以下命令:
tune2fs -O extents,uninit_bg,dir_index /dev/sda1
这有点平淡无奇,因为似乎没有太多事情发生。您将返回到命令提示符。如果你看到一些输出,很可能是错误消息。所以这里没有消息就是好消息。
检查文件系统
即使没有标记错误,我们也要彻底检查整个文件系统是否有问题。我们将使用名为e2fsck的命令。这是一个用于检查文件系统完整性的工具。它还可以尝试修复它发现的任何问题。e2fsck工具适用于ext2、ext3和ext4文件系统。
p(Preen)选项导致e2fsck尝试修复错误,-f(Force)选项导致e2fsck检查文件系统,即使文件系统看起来很干净。
e2fsck -pf /dev/sda1
未报告错误。现在我们可以尝试挂载文件系统了。
装载文件系统
我们需要调整文件系统表(Fstab)和GRUB引导加载器以使用转换后的文件系统。为此,我们必须挂载文件系统。我们将把它装在/mnt上。我们在前面将文件系统标识为sda1,因此我们的命令是:
mount -t ext4 /dev/sda1 /mnt
现在它已经挂载,我们应该能够列出文件系统了。我们来检查一下。文件系统的根将位于挂载点/mnt。
ls /mnt
这很鼓舞人心。看起来我们已经预料到了。
相关:如何从Linux终端挂载和卸载存储设备
编辑fstab
我们需要编辑fstab文件,并将ext3(或ext2,如果是您从中转换的文件系统)的任何引用更改为ext4。
本例中使用的Live CD上有Nano编辑器。这是一个简单的小编辑器,所以我们将使用它。如果您的LiveCD上没有Nano,那么该CD上将会有另一个由Linux发行版捆绑的编辑器。
nano /mnt/etc/fstab
将出现Nano编辑器窗口。您需要查找字符串“ext3”或“ext2”的匹配项,并将它们更改为“ext4”。在本例中,出现了一个ext3,它被突出显示。
ext3被ext4取代。
您需要保存文件并退出编辑器。在Nano中,Ctrl+O将保存文件,Ctrl+X将关闭编辑器。
升级GRUB
因为我们已经将sda1文件系统挂载到/mnt上,文件系统中目录的路径实际上都比通常移动了一个级别。这就是为什么我们提供给Nano的路径是/mnt/etc/fstab,而不是通常的/etc/fstab。
因为GRUB希望在某些位置找到内容,所以我们需要使文件系统看起来就像是正常挂载的一样。我们需要文件系统的根位于/,而不是/mnt。chroot命令允许我们运行命令shell并指定我们希望使用的根点。
我们使用的命令是:
chroot /mnt
请注意,命令提示符已更改。
现在我们可以发出update-GRUB命令,让GRUB读取fstab文件并重新配置自身。
update-grub
重新配置GRUB之后,我们需要在硬盘上安装一个新的GRUB实例。注意:这是硬盘sda,不是文件系统sda1。不包括“1”,只需键入“sda”即可。
grub-install /dev/sda
重新启动您的Linux
重新启动系统并取出Live CD。系统重新启动后,打开一个终端窗口,然后输入以下命令:
blkid
正如我们所看到的,文件系统现在是ext4文件系统。
本文研究的机器花了很长时间重新启动(超过10分钟),人们认为它出了问题,永远也不会重新启动。
可能是因为它是虚拟机,也可能是因为某些文件系统转换发生在第一次引导期间。无论哪种方式,耐心都占了上风,最终它确实重新浮出水面。如果您的机器执行类似的操作,请等待它结束。可能不会失去一切。
随后的重新启动速度与正常一样快。
改为升级您的Linux
嗯,我们到了。但是,您仍然可以在现代文件系统上使用旧Linux版本的非标准混合。
如果迁移到新的文件系统对您很重要,并且您的硬件可以接受,那么迁移到当前的Linux发行版是最好的选择。您将享受到这样做所带来的所有其他安全和软件优势。
不过,如果没有其他方法-有时我们没有我们希望的选项-这些步骤将允许您升级您的文件系统。