我目前正在使用 Debian 6.0.6 Squeeze,我是在 Windows XP 上安装它的。
它只是一个硬盘,我先在上面安装了 Windows XP,然后用一些 Windows 工具创建了分区,后来又在上面安装了 Debian
现在,我可以轻松启动 Debian,但没有 Windows 的迹象。我尝试了网上推荐的几种方法,但仍然无法正常工作
我试过os-prober
,试过编辑grub.cfg
(我设法将 Windows XP 添加到菜单,但这只是空链接,当我输入时什么都没有发生(空白屏幕),它应该链接到哪里?)
fdisk -l 之后也是如此:
Disk /dev/sda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c0014
Device Boot Start End Blocks Id System
/dev/sda1 2 4663 37447484+ f W95 Ext'd (LBA)
/dev/sda2 4664 4864 1614532+ 82 Linux swap / Solaris
/dev/sda5 2 2032 16313976 7 HPFS/NTFS
/dev/sda6 2033 4663 21133476 83 Linux
更新 grub
Generating grub.cfg ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-2.6.32-5-686
Found initrd image: /boot/initrd.img-2.6.32-5-686
done
答案1
从我收集到的上一个答案来看,您可能正在使用 grub2。手动添加菜单项的正确方法是通过目录/etc/grub.d/
。
创建一个文件01_windows_xp
(根据您想要的顺序更改数字,linux 得到了10_
)并向其中添加以下内容:
echo "Adding Windows XP to the Menu..."
cat << EOF
menuentry "Windows XP"
set root=(hd0,5)
chainloader +1
}
EOF
然后重新运行update-grub
。之后您可以查看生成的文件/boot/grub/grub.cfg
。这样,新的菜单项将在内核更新后继续存在,其中 update-grub 将自动运行。
答案2
假设您没有覆盖 Windows 安装(您说您“覆盖”了 Windows XP?),以下命令应该足够了。如果没有,请使用它们的输出更新您的问题:
sudo update-grub
Sudo grub-install /dev/sda
答案3
使用您喜欢的文本编辑器和 sudo 编辑您的 /boot/grub/menu.lst。添加以下行:
title Microsoft Windows XP
root (hd0,5)
chainloader +1
跑步:
sudo update-grub
sudo grub-install /dev/sda
重启并完成
如果使用 grub2:
配置文件位于此处:
/boot/grub/grub.cfg
添加的行应该是:
menuentry "Microsoft Windows XP" {
set root=(hd0,5)
chainloader +1
}
跑步:
sudo update-grub
sudo grub-install /dev/sda