我有一台非常轻便/偶尔使用的计算机,最近在断电后出现启动问题,导致一天的工作在试图修复它并最终需要重新安装。
我可以调整任何设置以使 (k)ubuntu 更能容忍停电吗?我正在考虑以牺牲性能为代价减少磁盘写入缓冲,没有后台清理任务,诸如此类。我的目标是,如果计算机一直坐着显示桌面但“无所事事”达 10 分钟,则能够无害地切断电源。(我意识到这不是真的什么都不是!)
在这种情况下,我无法证明 UPS 的费用是合理的,它只是一台显示 USB 显微镜输出的旧电脑。
库本图 18.04。
我有一台非常轻便/偶尔使用的计算机,最近在断电后出现启动问题,导致一天的工作在试图修复它并最终需要重新安装。
我可以调整任何设置以使 (k)ubuntu 更能容忍停电吗?我正在考虑以牺牲性能为代价减少磁盘写入缓冲,没有后台清理任务,诸如此类。我的目标是,如果计算机一直坐着显示桌面但“无所事事”达 10 分钟,则能够无害地切断电源。(我意识到这不是真的什么都不是!)
在这种情况下,我无法证明 UPS 的费用是合理的,它只是一台显示 USB 显微镜输出的旧电脑。
库本图 18.04。
不,停电就是这样。
除非存在与硬件相关的实际问题(如磁盘损坏或连接器损坏),否则不需要这样做。如果没有您收到的实际通知,就不可能真正告诉您哪里出错了。有时在断电后需要进行文件系统检查,但这会自动合并到引导过程中。
这是默认设置:关闭机器的电源是硬件而不是软件。您可能遇到的唯一问题是某些内容没有保存到磁盘,但这不是需要重新安装操作系统的理由。
我建议冒一点风险,切断那台机器的电源,看看会发生什么,然后报告你面临的问题。
理论上,如果您的 linux 配置正确,那么断电后您应该不会出现启动问题。最坏的情况是您将丢失数据,但操作系统映像和服务不应受到影响。
但是,这仅在您使用诸如 Ext3/Ext4、ReiserFS、Btrfs、JFS、XFS 等日志文件系统时才有效。我要做的第一件事是检查以确保您没有将引导分区加载为 Ext2。请注意,Ext2 和 Ext3 使用完全相同的磁盘数据结构,因此要从 Ext2 迁移到 Ext3,您只需更改文件系统驱动程序即可。
理论,遇见现实
然而,理论和现实有时并不相符。有一堆理论无法处理的极端情况。
如果突然断电,可能会损坏某些磁性硬盘。通常,现代硬盘(1990 年代之后)是为了避免这种情况而制造的,但理论上它们确实如此,但实际上理论并不总是有效。
如果您使用的是 SSD,那么当突然断电时,某些 SSD 固件会在某些极端情况下导致磁盘损坏。这种情况在 PC 世界中很少见,但对于昂贵的 Red 相机用户来说并不罕见。事实上,由于这个问题,Red 内存盒附带了 Red 的数据恢复服务——这在 PC 世界中是不必要的。再说一次,如果它可以发生,那么无论多么不可能,它都可能发生。
您可以通过执行以下一项或多项操作来缓解启动损坏问题:
从固态磁盘引导。与磁盘相比,固态磁盘损坏的可能性要小得多(没有快速旋转的磁盘可以降低很多风险)。您无需走昂贵的路线并获得 SSD。一个拇指驱动器就可以了。从拇指驱动器启动的另一个优点是您可以克隆驱动器并保留启动磁盘的备份副本,以防出现任何问题。
从只读磁盘引导。如果您有 CD 或 DVD 驱动器,您可以在 CD/DVD 上刻录您的操作系统并从中启动。很难损坏您无法写入的内容。
使用不写入磁盘的 Linux 发行版。有很多发行版完全在 RAM 中运行并避免写入磁盘。有些是为了使从 CD 引导成为可能而创建的。有些是为没有大量存储的嵌入式系统创建的。因为操作系统本身不写入磁盘,所以停止磁盘不太可能损坏操作系统。您仍然可以挂载磁盘并对其进行读写以获取您自己的数据。只是操作系统本身默认会最小化自己的磁盘 I/O
像这样获得“不间断电源”或“UPS” 。
这基本上是一个大电池,你把你的电脑插进去。当发生停电、断电、停电或尖峰时,电池会接管并为您的计算机提供优质电力(取决于您购买的 UPS 的大小)长达 15 分钟或更长时间。这使您的计算机可以在临时中断期间保持供电,或者让您有时间进行适当的关机。
某些 UPS 系统甚至能够在启动后触发计算机自动安全关机。
使用 Ext4 和
rootflags=data=journal
引导参数。这也会记录 DATA(通常只记录元数据,但数据可能会损坏)。
启用此标志会使您的写入性能变慢,因为必须将数据写入磁盘两次。但这是一个很好的权衡。
取决于您的文件系统,但您可以
sync
在挂载时使用该标志(请注意,这会影响您的性能!)。更轻且实际可用的替代方案是dirsync
.sync
当您知道您将离开几分钟时打字(因此使计算机休眠很麻烦)也不会受到伤害。其他选项包括使用
busybox-syslogd
而不是常规系统日志(将日志保存在内存中)、移动/tmp
和/var/tmp
到tmpfs
(如果您有足够的 RAM)、移动/home
到单独的分区(并至少/
使用sync
标志安装)、禁用浏览器中的磁盘缓存。使用以下分区方案(使用 GPT 或扩展 msdos 分区):
/
4GiB/boot/
512MiB/boot/efi/
512MiB(如果需要)/home/
无论您需要什么,否则至少 2GiB/opt/
无论您需要什么,否则至少 1GiB/srv/
无论您需要什么,否则至少 1GiB/tmp/
最低 2GiB/usr/
最低 8GiB/usr/local/
最低 8GiB/var/
最低 6GiB/var/log/
1GiB - 2GiB/var/tmp/
最低 2GiB所有分区都是 ext4 文件系统(
/boot/efi/
是 vfat)并使用noatime挂载选项挂载。/tmp/
并且/var/tmp/
可以使用relatime mount-option 来安装。/boot/efi/
应使用flush (vfat) 安装选项安装。/
,/boot/
并且/boot/efi/
应该在您的fstab中获得fsck优先级,所有其他都应该获得.1
2
使用以下命令将丑陋
/snap
的东西移到它所属的位置(它属于/usr/local/
)。这应该会给你一个健壮的 Linux 文件系统。root-fs
/
大约只有 100MiB 大(没有 root-homedir/root/
),易于备份。PS一个SWAP分区也总是很高兴