获取/cow的规范性路径失败

我尝试安装Ubuntu 12.10已经有一段时间了,并且一个接一个地通过了障碍。现在我遇到了如下情况。

我有一台电脑和10GB的硬盘,将完全用于Ubuntu,所以没有Wubi和双启动的选择。

我试图从DVD上安装,但它卡在了"Out of frequency"错误上。所以我不得不改用USB启动选项。但我的电脑是USB不可启动的,所以解决方法是使用Plop Boot Manager"。所以我正在进行如下的安装程序。

0.从安装了Plop的CD驱动器开始。

  1. 在plop选项中选择USB启动。 2.从USB开始启动。 3.显示器最终出现"out of frequency"错误
  2. 按Shift+Alt+F1来获取终端。
  3. sudo nano /etc/default/grub打开grub。 6.做必要的修改。 7.sudo update-grub

现在,我得到的错误如下。

/usr/sbin/grub-probe:error:failed to get canonical path of /cow.

我的系统是

P4 3.06 GHz,1 GB内存,10 GB硬盘,没有操作系统,显示器CRT lg StudioWorks(7年了)。Mobo Mercury P4 266a NDMx(相当于865)。整个系统在XP下完全处于工作状态,但它是USB不可启动的,所有其他设备都工作得很好。

我接下来应该怎么做?

从Ubuntu Live CD启动后(试过14.04和16.04),我能够通过运行update-grub chroot'ed到grub分区来解决这个问题。 (用你安装grub的分区代替下面的/dev/sda1。所有命令都以root身份执行)。

mkdir /mnt/chrootdir
mount /dev/sda1 /mnt/chrootdir
for dir in proc dev sys etc bin sbin var usr lib lib64 tmp; do
    mkdir /mnt/chrootdir/$dir && mount --bind /$dir /mnt/chrootdir/$dir
done
chroot /mnt/chrootdir
update-grub2  # inside chroot
评论(8)

找到你的驱动器,应该用它来启动。

mount

parted -l

fdisk /dev/sda

并输入p来列出分区,寻找83型。

(如果你有Fedora,你可能需要使用命令"vgs"和"lvs" 如果你有mdraid,你可能需要"cat /proc/mdstat" 或mdadm -A --scan或insmod raid1或insmod raid5,然后mdadm -A --scan),你将使用/dev/md0或/dev/mapper/my-vg而不是/dev/sda。

然后尝试安装它

mkdir /mnt
mount /dev/sda1 /mnt
cd /mnt
ls -l

这是你的驱动器吗?很好!

grub-install --recheck --root-directory=/mnt /dev/sda 

(或者你的根目录下的/dev驱动器,以及它的安装路径)

grub-install --recheck --root-directory=/mnt /dev/sda --force

(如果它不喜欢你的分区,就强制它。)

现在它应该启动到grub,你可以使用grub命令来启动,在重启后,从BIOS设置中选择正确的启动驱动器,或者按ESC或F12,这取决于你的BIOS和你是否足够快,然后在Grub提示 - 你可以使用标签完成来找到它,如果它不是(hd0,1)而是(hd1,3)或其他东西代替,但要注意,如果grub无法读取驱动器,标签完成有时会挂起几秒钟。

insmod linux
ls
root=(hd0,1)
linux /boot/vmlinuz root=/dev/sda1
initrd /boot/initrd
boot

或者,希望你还有一个完整的grub.cfg文件......也可能这样做会有用。

grub-mkconfig -o /mnt/boot/grub/grub.cfg
评论(2)

当从活CD上使用时,是update-grub命令会给你带来错误。我在做grub救援时也遇到了类似的情况。你遇到的问题是,update-grub和grub-install命令在Live CD下不能直接工作(我不知道为什么)。所以,你必须到命令所在的/usr/sbin去,然后从那里执行它们(即./update-grub)。

评论(6)