![/usr/sbin/grub-probe:error:无法获取 /cow 的规范路径。来自具有持久存储的 Live USB (mkusb)](https://linux22.com/image/1179264/%2Fusr%2Fsbin%2Fgrub-probe%3Aerror%3A%E6%97%A0%E6%B3%95%E8%8E%B7%E5%8F%96%20%2Fcow%20%E7%9A%84%E8%A7%84%E8%8C%83%E8%B7%AF%E5%BE%84%E3%80%82%E6%9D%A5%E8%87%AA%E5%85%B7%E6%9C%89%E6%8C%81%E4%B9%85%E5%AD%98%E5%82%A8%E7%9A%84%20Live%20USB%20(mkusb).png)
当我这样做时,sudo update-grub
我收到此消息:
/usr/sbin/grub-probe:error:failed to get canonical path of /cow
我尝试了所有的谷歌解决方案,但都不起作用,大概是因为我正在从具有持久存储(mkusb
)的 Live USB 运行 Ubuntu 20.04,而不是安装版本的 Ubuntu,如果你问为什么,那是因为任何操作系统的完整安装都无法直接启动或不断冻结。
我希望完全控制我的 RX580s 进行超频,我不想只对我的 RX580s 的超频应用固定值,这就是为什么我避免使用以下软件:
- https://github.com/marazmista/radeon-profile
- https://gitlab.com/corectrl/corectrl
- https://github.com/matszpk/amdcovc
手动通过文件,我无法超频,因为没有控制核心、内存和电压的文本文件,并且需要 sudo update-grub。
TuxClocker不会运行make
命令,因为 Qt 软件不会运行该命令qmake rojekti.pro
并且它还需要sudo update-grub
。
所以我最终决定瓦特曼GTK猜猜看,这也需要 sudo update-grub。
我该如何修复这个困扰了我一个月的痛苦错误,以便继续我的生活?如果我使用 AMDGPU 开源或 AMDGPU-PRO 闭源驱动程序会有什么不同吗?
答案1
在可启动 USB 上修改 GRUB
可启动 USB 有多种类型。
一些 USB 工具会将 ISO 文件克隆到 USB 作为 ISO9660 分区。这些工具没有可编辑的 grub.cfg 文件。它们包括mkusb-仅限直播,日,蚀刻机,磁盘映像工具,启动盘创建器和Gnome 磁盘。
在 20.10 之前,一些 USB 工具使用 Syslinux 在 BIOS 模式下启动,使用 GRUB 在 UEFI 模式下启动。对于 BIOS 模式,您需要编辑 syslinux.cfg 或 txt.cfg。这些包括联合国网启动,鲁弗斯,普遍的和多启动USB. Syslinux.cfg 和 txt.cfg 可以像 grub.cfg 一样手动编辑。
我只知道在 20.10 之前有几个工具使用 GRUB2 来实现 BIOS 和 UEFI,韓國和由美。YUMI 有一个使用 grubfordos 和 syslinux 的 BIOS 启动版本和一个用于 UEFI 启动的 GRUB2 版本。GRUB 版本现在可在 BIOS 模式下与 20.04 配合使用。
文图伊使用GRUB2启动ISO文件,但是grub.cfg文件非常复杂,并且一个文件可以启动大多数类型的Linux。
总结:您只能在使用 mkusb、UNetbootin、Rufus、Universal、YUMI 和 MultiBootUSB 制作的 Live 和 Live Persistent USB 上编辑 grub.cfg。如果您在 20.10 之前的 BIOS 模式下启动 Ubuntu,则其中大多数都需要编辑 Syslinux.cfg 或 txt.cfg。
您无法轻松地在使用以下设备制作的 USB 上编辑 grub:mkusb-live-only、dd、Etcher、Win32DiskImager、Startup Disk Creator、Gnome-Disks 和 Ventoy。
答案2
如何在持久实时驱动器中编辑 grub
sudo update-grub
不适用于实时和持续实时系统。您需要安装系统才能使该命令行运行。
在持久实时系统中,您可以grub.cfg
直接修改该文件。如果您使用 mkusb 版本 12(mkusb-dus)创建了系统,则可以在 USB 驱动器的分区号 3 中找到此文件。
使用热键组合ctrl+ alt+打开终端窗口t并运行以下命令以访问相关内容grub.cfg
。以下演示示例使用 Lubuntu,因为我有一个适用于该版本 Ubuntu 的当前持久实时系统,但所有版本的 Ubuntu(包括标准 Ubuntu)的启动结构和命令都是相同的。
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
lubuntu@lubuntu:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 770M 1.7M 769M 1% /run
/dev/sda4 1.9G 1.9G 0 100% /cdrom
/cow 54G 102M 52G 1% /
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
tmpfs 3.8G 0 3.8G 0% /tmp
tmpfs 770M 80K 770M 1% /run/user/999
/dev/sda5 54G 102M 52G 1% /media/lubuntu/writable
/dev/sda1 55G 67M 55G 1% /media/lubuntu/usbdata
lubuntu@lubuntu:~$ setxkbmap se
lubuntu@lubuntu:~$ sudo mount /dev/sda3 /mnt
lubuntu@lubuntu:~$ ls -l /mnt/boot/grub/grub.cfg
-rwxr-xr-x 1 root root 2241 Dec 30 13:17 /mnt/boot/grub/grub.cfg
lubuntu@lubuntu:~$
您的实时系统驱动器(USB 驱动器)可能被视为/dev/sdb
,/dev/sdc
... 而不是/dev/sda
。这通过命令显示df -h
。
由于您需要sudo
编辑它,我建议您使用文本模式编辑器nano
$ sudo nano /mnt/boot/grub/grub.cfg
编辑1:我应该添加以下评论:
在持久实时系统中,您可以添加位于主目录中的设置(通常为隐藏文件),并且可以添加应用程序包。
但是您无法升级内核,也无法添加或修改内核驱动程序,因为内核及其驱动程序是在激活持久性覆盖之前启动的。如果这是您想要的,您必须使用已安装的系统。它是可以在外部驱动器(例如 USB 闪存盘)中创建已安装的系统。如果您想要这样做,请告诉我,我可以为您提供一些提示和链接。