We’d like to remind Forumites to please avoid political debate on the Forum.
This is to keep it a safe and useful space for MoneySaving discussions. Threads that are – or become – political in nature may be removed in line with the Forum’s rules. Thank you for your understanding.
📨 Have you signed up to the Forum's new Email Digest yet? Get a selection of trending threads sent straight to your inbox daily, weekly or monthly!
Ubuntu Linux, Windows 10 & XP multi boot

GeorgeTurner
Posts: 12 Forumite

in Techie Stuff
I’ve got Ubuntu & Win 10 successfully working on an old desktop pc. The Grub2 boot loader works just fine.
Previously I installed a copy of XP on another partition on the same hard disc.
In Grub2 Customizer I’ve added XP as another menu choice but I can’t get it to run when chosen.
details are:-
name XP
Type Chainloader
partition /dev/sda5 (winXP, ntfs)
boot sequence
set root=‘(hd0,5)’
search-no-floppy-fs-uuid-set 30B85213B851D844
drivemap -s (hd0) ${foot}
chainloader +1
The above details were generated by Grub2 Customizer.
I wondered if there was anything above that was obviously wrong.
Thanks
Previously I installed a copy of XP on another partition on the same hard disc.
In Grub2 Customizer I’ve added XP as another menu choice but I can’t get it to run when chosen.
details are:-
name XP
Type Chainloader
partition /dev/sda5 (winXP, ntfs)
boot sequence
set root=‘(hd0,5)’
search-no-floppy-fs-uuid-set 30B85213B851D844
drivemap -s (hd0) ${foot}
chainloader +1
The above details were generated by Grub2 Customizer.
I wondered if there was anything above that was obviously wrong.
Thanks
0
Comments
-
Windows bootloaders tend to insist on being the only operating system on the drive.The easiest way to accomplish a dual-boot is to install the oldest operating system first, and then in the order that they were released coming forward.You should then be able to install Ubuntu afterwards which then works as a dual-boot for both it and all the versions of Windows too.3
-
search-no-floppy-fs-uuid-set 30B85213B851D844should that besearch --nofloppy --fs-uuid --set=root 30B85213B851D844Not sure though since I no longer have an XP partition , I run my XP in Virtualboxwhere is your grub.cfg ? could you put the full one up
4.8kWp 12x400W Longhi 9.6 kWh battery Giv-hy 5.0 Inverter, WSW facing Essex . Aint no sunshine ☀️ Octopus gas fixed dec 24 @ 5.74 tracker again+ Octopus Intelligent Flux leccy1 -
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
if [ "${initrdfail}" = 2 ]; then
set initrdfail=
elif [ "${initrdfail}" = 1 ]; then
set next_entry="${prev_entry}"
set prev_entry=
save_env prev_entry
if [ "${next_entry}" ]; then
set initrdfail=2
fi
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function initrdfail {
if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
if [ -z "${initrdfail}" ]; then
set initrdfail=1
if [ -n "${boot_once}" ]; then
set prev_entry="${default}"
save_env prev_entry
fi
fi
save_env initrdfail
fi; fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
else
search --no-floppy --fs-uuid --set=root 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=640x480
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_GB
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=hidden
set timeout=10
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 10 ; then
set timeout=0
fi
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux_proxy ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
### END /etc/grub.d/10_linux_proxy ###
### BEGIN /etc/grub.d/30_os-prober_proxy ###
menuentry "Windows 10 (on /dev/sda1)" --class windows --class os $menuentry_id_option 'osprober-chain-C80CC6710CC65A58' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 C80CC6710CC65A58
else
search --no-floppy --fs-uuid --set=root C80CC6710CC65A58
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober_proxy ###
### BEGIN /etc/grub.d/31_linux_proxy ###
menuentry "Ubuntu" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-637ecdb4-a199-4105-85f1-ae0f2d1ba8db' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
else
search --no-floppy --fs-uuid --set=root 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
fi
linux /boot/vmlinuz-5.4.0-33-generic root=UUID=637ecdb4-a199-4105-85f1-ae0f2d1ba8db ro quiet splash $vt_handoff
initrd /boot/initrd.img-5.4.0-33-generic
}
submenu "Advanced options for Ubuntu"{
menuentry "Ubuntu, with Linux 5.4.0-33-generic" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-33-generic-advanced-637ecdb4-a199-4105-85f1-ae0f2d1ba8db' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
else
search --no-floppy --fs-uuid --set=root 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
fi
echo 'Loading Linux 5.4.0-33-generic ...'
linux /boot/vmlinuz-5.4.0-33-generic root=UUID=637ecdb4-a199-4105-85f1-ae0f2d1ba8db ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.4.0-33-generic
}
menuentry "Ubuntu, with Linux 5.4.0-33-generic (recovery mode)" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-33-generic-recovery-637ecdb4-a199-4105-85f1-ae0f2d1ba8db' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
else
search --no-floppy --fs-uuid --set=root 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
fi
echo 'Loading Linux 5.4.0-33-generic ...'
linux /boot/vmlinuz-5.4.0-33-generic root=UUID=637ecdb4-a199-4105-85f1-ae0f2d1ba8db ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.4.0-33-generic
}
menuentry "Ubuntu, with Linux 5.4.0-26-generic" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-26-generic-advanced-637ecdb4-a199-4105-85f1-ae0f2d1ba8db' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
else
search --no-floppy --fs-uuid --set=root 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
fi
echo 'Loading Linux 5.4.0-26-generic ...'
linux /boot/vmlinuz-5.4.0-26-generic root=UUID=637ecdb4-a199-4105-85f1-ae0f2d1ba8db ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.4.0-26-generic
}
menuentry "Ubuntu, with Linux 5.4.0-26-generic (recovery mode)" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-26-generic-recovery-637ecdb4-a199-4105-85f1-ae0f2d1ba8db' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
else
search --no-floppy --fs-uuid --set=root 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
fi
echo 'Loading Linux 5.4.0-26-generic ...'
linux /boot/vmlinuz-5.4.0-26-generic root=UUID=637ecdb4-a199-4105-85f1-ae0f2d1ba8db ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.4.0-26-generic
}
}
### END /etc/grub.d/31_linux_proxy ###
### BEGIN /etc/grub.d/32_linux_zfs ###
### END /etc/grub.d/32_linux_zfs ###
### BEGIN /etc/grub.d/33_linux_xen ###
### END /etc/grub.d/33_linux_xen ###
### BEGIN /etc/grub.d/34_memtest86+_proxy ###
### END /etc/grub.d/34_memtest86+_proxy ###
### BEGIN /etc/grub.d/35_os-prober_proxy ###
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
set timeout=10
fi
### END /etc/grub.d/35_os-prober_proxy ###
### BEGIN /etc/grub.d/36_memtest86+_proxy ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
else
search --no-floppy --fs-uuid --set=root 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
fi
knetbsd /boot/memtest86+.elf
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
else
search --no-floppy --fs-uuid --set=root 637ecdb4-a199-4105-85f1-ae0f2d1ba8db
fi
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/36_memtest86+_proxy ###
### BEGIN /etc/grub.d/37_uefi-firmware ###
### END /etc/grub.d/37_uefi-firmware ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Windows XP"{
set root='(hd0,5)'
search --no-floppy --fs-uuid --set 30B85213B851D844
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
0 -
thanks debitcardmayhem and others. As suggested I've posted the entire grub.cfg file above. Sorry for the length of the file.Regards
0 -
GeorgeTurner said:thanks debitcardmayhem and others. As suggested I've posted the entire grub.cfg file above. Sorry for the length of the file.RegardsCould you run this and see what is in mygrubsudo grub2-mkconfig --output=mygrubsee if it is the same as the one above
4.8kWp 12x400W Longhi 9.6 kWh battery Giv-hy 5.0 Inverter, WSW facing Essex . Aint no sunshine ☀️ Octopus gas fixed dec 24 @ 5.74 tracker again+ Octopus Intelligent Flux leccy1 -
A sample XP one here
menuentry "Windows XP BIOS MBR" { insmod part_msdos insmod ntldr insmod ntfs ntldr (hd0,msdos5)/ntldr }
or a sample of chainloader ischainloader (hd0,msdos5)+1
4.8kWp 12x400W Longhi 9.6 kWh battery Giv-hy 5.0 Inverter, WSW facing Essex . Aint no sunshine ☀️ Octopus gas fixed dec 24 @ 5.74 tracker again+ Octopus Intelligent Flux leccy1 -
thanks but the command suggested returns the following errorsudo: grub2-mkconfig: command not found
I did try the Chainloader suggestion but also couldn't get it to work - probably my fault0 -
Aaah Ubuntu on there its grub-mkconfig ....my bad, so used to Fedora4.8kWp 12x400W Longhi 9.6 kWh battery Giv-hy 5.0 Inverter, WSW facing Essex . Aint no sunshine ☀️ Octopus gas fixed dec 24 @ 5.74 tracker again+ Octopus Intelligent Flux leccy0
-
This is a sample that works , but try the grub-mkconfig first.
This was my grub-mkconfig output
### BEGIN /etc/grub.d/30_os-prober ###The bits that are struck out eg CC24FEB624FEA31E
menuentry 'Microsoft Windows XP Professional (on /dev/sdax)' --class windows --class os $menuentry_id_option 'osprober-chain-CC24FEB624FEA31E' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 CC24FEB624FEA31E
else
search --no-floppy --fs-uuid --set=root CC24FEB624FEA31E
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
set timeout=10
fi
### END /etc/grub.d/30_os-prober ###Need to be changed for your details eg msdos5 (if your partition is 5)and the CC24...... is the UUID of your XP disk you can check that with gparted on Ubuntu select that partition right click and go to information
4.8kWp 12x400W Longhi 9.6 kWh battery Giv-hy 5.0 Inverter, WSW facing Essex . Aint no sunshine ☀️ Octopus gas fixed dec 24 @ 5.74 tracker again+ Octopus Intelligent Flux leccy1 -
unless you really need special hardware adapter or device access, put it on a vm like virtualbox, vmware, or hyper v and a few more, and save yourself some disk space with thin provisioning, and the insanity of boot loaders.1
Confirm your email address to Create Threads and Reply

Categories
- All Categories
- 352.1K Banking & Borrowing
- 253.5K Reduce Debt & Boost Income
- 454.2K Spending & Discounts
- 245.1K Work, Benefits & Business
- 600.7K Mortgages, Homes & Bills
- 177.4K Life & Family
- 258.9K Travel & Transport
- 1.5M Hobbies & Leisure
- 16.2K Discuss & Feedback
- 37.6K Read-Only Boards