題 Windows安裝在第二個分區,如何將其添加到啟動菜單?


我現在正在使用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

3
2018-01-13 00:12


起源


尋找Bootloader並不是你想要的,是嗎? - Ariane
我不確定,你的意思是調整bios嗎?也許我需要鏈接到Windows用來啟動的一些文件,不知道 - zarkoz
您需要創建一個chainloader條目。 - Tom Wijsman
@TomWijsman, update-grub 應該照顧好。 - terdon


答案:


從我之前的回答中我得知,你可能正在使用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 然後。這樣,新的菜單條目將在內核更新後繼續存在,其中up​​date-grub將自動運行。


1
2018-01-13 01:47





假設你沒有覆蓋你的Windows安裝(你說你安裝“在”Windows XP上面?),以下命令就足夠了。如果沒有,請用他們的輸出更新您的問題:

sudo update-grub
Sudo grub-install /dev/sda

0
2018-01-13 00:33



xp在分區上肯定是活著的,謝謝你的回复,我會試試這個 - zarkoz
仍然沒有出現,我更多的信息與更多的信息,任何幫助讚賞:) - zarkoz
@zarkoz,你能發布的輸出嗎? update-grub 命令?它會檢測到窗戶嗎? - terdon
之前嘗試了幾次,沒有幫助 - zarkoz
/ dev / sda5 2 2032 16313976 7 HPFS / NTFS - 這是您的Windows安裝。手動添加帶有鍊式加載器的sda5,然後, sudo update-grub 和 Sudo grub-install /dev/sda - Lorenzo Von Matterhorn


使用首選的文本編輯器和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

0
2018-01-13 01:25



menu.lst不存在,我創建它,粘貼代碼,更新和安裝,重啟,仍然沒有:( - zarkoz
@zarkoz你可能正在使用grub2。我更新了我的答案。 - Lorenzo Von Matterhorn
仍然沒有骰子。我注意到每當我運行update-grub時,grub.cfg都會恢復更改,就像我沒有在這個文件中寫任何東西一樣 - zarkoz
盡量不要 update-grub 然後。使用添加它 sudo grub-install /dev/sda 並重新啟動。 - Lorenzo Von Matterhorn
Microsoft Windows xp出現了,但當我輸入它時只是空白屏幕,光標閃爍 - zarkoz