美好的一天,是否可以让两个操作系统都使用单一启动管理器?我猜 grub 无法直接启动到 Windows,反之亦然。也许有第 3 方启动管理器能够直接启动到任何操作系统?
我正在尝试e2fsck
在持久实时 lubuntu 的启动上运行,以修复可写系统分区(ext4)的“损坏文件系统”错误,并且我想以某种方式自动执行此操作(所以理想情况下,我不想启动到另一个实时 USB 来执行此操作)它)
我想要自动化,因为这些错误往往会随着系统的重新启动/关闭而累积(我确实按照说明操作并移除系统所在的 USB 记忆棒,然后在关闭/重新启动时按 Enter 键)。经过几个月的使用(可能关闭了 100 次),错误确实累积得太多,以至于系统无法启动。
我确实通过启动另一个实时系统然后运行来修复错误:
umount -l /dev/sdc5
e2fsck -y /dev/sdc5
/dev/sdc5 是安装在 /media/lubuntu/writable 的系统的可写分区
为了将来自动执行此操作,我尝试通过以下方式修复来自同一存储介质的错误:
- 启动进入恢复模式,但
e2fsck
返回“目标正忙”,因此延迟卸载不成功。 - 点击
e
GRUB 菜单并编辑fsck.mode=none
然后fsck.mode=force
启动(Ctrl+x/f10),但它没有修复错误。 fsck
通过更改最大安装数来强制启动,sudo tune2fs -c -1 /dev/sdb5
但它没有修复错误
我不确定在最后两种情况下 fsck 是否确实运行了,而且我不知道如何找出答案,我尝试读取 /var/log 中的几个日志的内容,但没有找到有关它的提及
我的实时系统是使用 mkusb 和 lubuntu 22.04.3 iso 制作的,欢迎任何帮助
我正在尝试在新组装的家庭服务器上安装 Ubuntu 23.04(只是一台具有 32GB RAM 的迷你 PC),但无论我选择什么条目(安装、安全图形、测试内存),我都会收到“指针超出范围”错误.
现在,当谈到 Linux 时,我几乎是一个完全的新手,但这不是我第一次安装 Ubuntu。
唯一的区别是,这一次,我使用的是物理的非 ARM 机器。
具体是:
- AMD Ryzen 5 5600G(集成显卡)
- 32GB (16GBx2) RAM @ 3200MHz
- M.2 500GB 磁盘
我试过谷歌搜索,但唯一相关的结果是更新的安装不再有效,与正在进行的安装无关。
请非常具体和详细地说明您的说明,或者如果您需要更多详细信息。
更新:通过安装 Ubuntu 22.10,然后升级到 23.04,一切正常。没有启动问题。
我想在 BTRFS 子卷中安装 Ubuntu @root
,但 Ubuntu 安装程序不允许更改默认子卷并安装在@
和@home
.
我试图@root
在安装后创建一个子卷,但我遇到了问题。我需要编辑fstab
和 GRUB。GRUB 需要知道在哪里可以找到新的根目录。我读过社区编辑,/boot/grub/grub.cfg
但有人说它不安全,因为/boot/grub/grub.cfg
会在下一次内核更新或运行时被覆盖update-grub
。
如何将根从一个子卷移动到另一个子卷?
发布升级问我是否要使用新版本或旧版本的/etc/grub.d/10_linux
文件。我选择了新的,但现在注意到旧的(稍微手动修补过的)文件仍然存在,名为10_linux.dpkg-old
.
我的理解是update-grub
将运行/etc/grub.d
. 由于新版本的脚本修复了一些错误10_linux
,我不想update-grub
运行10_linux.dpkg-old
.
我假设使旧脚本不可执行使用chmod
将允许我将它保存在该文件夹中。但我想知道是否有其他机制阻止update-grub
使用它。
我目前的理解参考:help.ubuntu
此目录中的脚本在执行 update-grub 命令期间被读取,它们的指令被合并到 /boot/grub/grub.cfg 中。
grub.cfg 菜单中菜单项的位置由该目录中文件的运行顺序决定。首先执行带有前导数字的文件,从最小的数字开始。10_linux 在 20_memtest 之前运行,后者将在 40_custom 之前运行。如果存在具有字母名称的文件,它们将在以数字命名的文件之后运行。
可以将自定义菜单条目添加到 40_custom 文件或新创建的文件中。根据其名称,40_custom 条目默认显示在菜单底部。以 06_ 开头的自定义文件将出现在菜单顶部,因为其字母数字排序会将其置于 10_ 到 40_ 文件之前。
在执行 update-grub 期间,只有可执行文件会向 grub.cfg 生成输出。默认情况下,/etc/grub.d 文件夹中的文件是可执行的。
Ubuntu 22.04 KDE 5.15.0-52 Nvidia 470 专有。我看到有很多关于这个主题的问题,但我读过的所有答案都没有解决问题。我编辑 GRUB,保存它,它会保留更改。当我“sudo update-grub”时,它不起作用。它给了我这个读出来。Sourcing file /etc/default/grub /usr/sbin/grub-mkconfig: 1: /etc/default/grub: /#: not found
- 这是 grub 文件,我添加了以下行... GRUB_SAVEDEFAULT=true GRUB_DEFAULT=saved。
/# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_SAVEDEFAULT=true
GRUB_DEFAULT=saved
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
GRUB_DISABLE_OS_PROBER=false
默认情况下,我尝试在内核 5.15.0-52 上启动。我无意中完全升级到 5.15.0-53,随后升级到 5.15.0-56,现在有两个不需要的内核,它不会让我清除或删除它们。(错误、未签名等)(了解到 Nvidia 专有和 nouveau w 内核升级不起作用)这是我尝试过的,它教会了我很多东西,但文件和脚本在那里。一切似乎都在它应该在的地方。
创建 update-grub 命令是为了让事情变得更简单——它只是 /usr/sbin/ 中的一个 shell 脚本:
#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
如果没有,您可以自己制作。为此,请运行它并粘贴上面的脚本:
sudo nano /usr/sbin/update-grub
使用 Ctrl+O 保存,使用 Ctrl+X 退出。
然后运行这些:
sudo chown root:root /usr/sbin/update-grub
sudo chmod 755 /usr/sbin/update-grub
您现在应该能够运行 update-grub。:-)
我还运行了“sudo update-grub”以及其他一些小事,但仍然没有更新 grub。有谁知道我错过了什么?
升级ubuntu版本有很多挑战。我想知道在升级ubuntu版本的时候kernel和grub版本是否自动升级,忽略那些升级难点。
ubuntu 升级示例:
16.04 -> 18.04
18.04 -> 20.04
16.04 -> 18.04 -> 20.04
这些引导加载程序更新已显示为未选中状态 5-7 天。
我试着选择它们,以便它们在几天前安装,但更新程序崩溃了。
现在我不确定是否必须选择它们才能安装它们,或者它们最终是否会自行安装。
我必须选择它们吗?还是他们最终会自行安装?
几天后
许多天后,仍然没有明确的答案,但当我检查更新时,我看到列出了以下内容:
此外,我无法知道列出的那些是否与第一个快照中显示的原始 GRUB 更新相关。这很令人困惑。
但是,当我检查用户界面(软件更新)时,我没有看到任何可用的信息?(上面显示的未选中的不再显示。)
我最初的问题是:我必须自己明确选择这些更新,还是它们会在某个时候自动安装?
我还是不确定。
4天后
今天出现了一个内核更新,并且原始的 GRUB 更新再次出现在软件更新 UI 列表中。
但是,它们仍未被选中。
即使在安装了所有其他更新之后,它们仍然会出现。
无法选择某些更新
最后,有些更新您甚至无法选择。无法选择下图中显示的 OpenOffice 更新。(如果您单击复选框,什么也不会发生。)我猜这些将在以后自动更新。