You are not logged in.
I'm trying to follow the directions from the arch syslinux wiki to add a windows dual boot option to my current syslinux.
I have two hard drives: sda (windows MBR) and sdc (arch linux GPT). My BIOS is set to boot sdc, and syslinux is currently installed fine to boot arch linux off of sdc. I would like to add an entry to boot windows.
I added an entry to /boot/syslinux/syslinux.cfg that looks like
LABEL windows
MENU LABEL Windows
COM32 chain.c32
APPEND mbr:0xf00f1fd3 # my actual identifier for sda from fdisk is hereWhen I rebooted, I saw the new entry in the syslinux menu. When I went to arch linux, it booted fine. When I rebooted again and selected windows, it hung with a blinking underscore. The next time I rebooted, it didn't even get to the syslinux menu and just hung with a blinking underscore.
I booted from my rescue arch usb drive. In fdisk, sdc's partition table now mirrored sda's! In other words, it looked like I had windows partitions on my linux drive, and it had the same MBR identifier even though it was supposed to be GPT. I ran gdisk /dev/sdc, it detected both GPT and MBR, and I asked it to use the GPT table and wrote out the partitions, and my drive looked normal again. I ran arch-chroot, syslinux-install_update, and everything was fine the next time I booted.
Any advice on how I can set up windows dual boot with syslinux?
Last edited by mikemintz (2013-08-17 18:25:46)
Offline
I am assuming that you use Bios and not UEFI (I am not that quite familiar with UEFI).
1) You must configure the Bios to boot from the disk where syslinux is installed, having a correct mbr and with syslinux correctly installed.
2) The disk where windows reside must be bootable by itself with a valid mbr.
It may be possible that windows try to boot from the linux disk (and of course fails), try to add the swap option to the chain command.
To check if Windows is correctly installed, try to boot it directly from the Bios.
The mbr of the syslinux disk should be gptmbr.bin:
dd if=/usr/lib/syslinux/gptmbr.bin of=/dev/sd<letter of the linux disk> bs=440 count=1Warning: Be very careful with what you do with dd, it is very easy to destroy all your data!
Last edited by olive (2013-08-17 08:31:44)
Offline
It may be possible that windows try to boot from the linux disk (and of course fails), try to add the swap option to the chain command.
The swap command did the trick, thanks! My config now looks like:
LABEL windows
MENU LABEL Windows
COM32 chain.c32
APPEND mbr:0xf00f1fd3 swapOffline
@ olive
Thanks a lot for the "swap" tip.
I was driven nuts trying to boot into my XP partition, since the past several months. I reinstalled syslinux a dozen times, fixed windows mbr several times, but still couldn't boot it.
Searched dozens of threads here and elsewhere, but no trick worked. Finally, I got lucky and found this thread ![]()
For reference, my setup is like
Windows on first hard drive, third partition.
Arch on Second hard drive, under an extended partition.
Both MBR.
PS: I am putting this in the wiki.
Offline