Hi,
I have been using EasyBCD successfully with grub legacy for some time. Due some changes on Arch Linux, I decided to move from grub to syslinux. This is a work computer running Win 7, and I have the following setup:
/dev/sda1: Win 7, NTFS, encrypted with Safeboot, now McAfee Endpoint Encryption (so I have no access to this partition outside of Windows)
/dev/sda2: /boot partition for Arch x86_64
/dev/sda3 / for Arch x86_64, encrypted with dm-crypt/LUKS
/dev/sda4 TrueCrypt partition for sharing between Arch/Win 7, NTFS
I installed syslinux per the Arch Wiki manual installation instructions. In other words:
I also added a /boot/syslinux/syslinux.cfg file:
I added a syslinux entry to EasyBCD, pointing it to the second partition to boot. I rebooted and chose the linux option and just got a black screen with flashing text cursor.
I re-tried with the following, wondering if syslinux was relying on the /dev/sda MBR since I didn't use altmbr.bin (the Arch Wiki makes it sound like syslinux might rely on the device MBR if the partition to boot was not explicitly specified.
Thus, I retried with altmbr.bin:
This didn't work either. Then I googled around a bit and found a syslinux article on using EasyBCD. Now, since I can't mount my Windows partition in Linux, I manually made a copy of the /dev/sda2 MBR I installed above, rebooted, and then copied the file once running Windows. I used the command:
I opened EasyBCD and noted the file it pointed to for my Arch entry. I then moved my MBR dd copy to replace the EasyBCD file pointing to my syslinux bootloader (looked to be a UUID of some sort, like linux_{bunch-of-alpha-num-chars}.mbr). When I boot, however, I just get a black screen with a flashing text cursor.
Does anything above look suspicious?
- Should I have stuck with mbr.bin instead of altmbr.bin
- I find the copying of 440 bytes to install syslinux and then dd'ing 512 bytes to use for EasyBCD odd. Is there any issue with that?
- ETA: another thing that occurred to me -- is doing `dd if=/dev/sda2 bs=512 count=1 of=/path/to/file.img` to a flash drive and then copying/renaming the file to replace what EasyBCD is pointing to any different than being able to directly do `dd if=/dev/sda2 bs=512 count=1 of=/path/to/windows/mount/NST/linux-mbr-name.img? If copying is messing with the attributes or exact file contents, could that be my issue? If so, how do I fix that given that I can't mount Windows? I could perhaps run a live CD inside of a virtual environment and dd the file into Windows?
I realize this may get into the syslinux area more than EasyBCD's, but 1) there were some other posts about this (precedent), but the solution (which is what I did above) isnt' working for me and 2) there's only one post in the syslinux archives discussing EasyBCD. It ends with a poster saying that "it should work" but not knowing why and then the thread died.
Thanks for any suggestions on where to start troubleshooting.
John
I have been using EasyBCD successfully with grub legacy for some time. Due some changes on Arch Linux, I decided to move from grub to syslinux. This is a work computer running Win 7, and I have the following setup:
/dev/sda1: Win 7, NTFS, encrypted with Safeboot, now McAfee Endpoint Encryption (so I have no access to this partition outside of Windows)
/dev/sda2: /boot partition for Arch x86_64
/dev/sda3 / for Arch x86_64, encrypted with dm-crypt/LUKS
/dev/sda4 TrueCrypt partition for sharing between Arch/Win 7, NTFS
I installed syslinux per the Arch Wiki manual installation instructions. In other words:
Code:
# cryptsetup luksOpen /dev/sda3 root
# mount /dev/mapper/root /mnt
# mount -t proc /proc /mnt/proc
# mount -t sysfs /sys /mnt/sys
# mount -o bind /dev /mnt/dev
# mount /dev/sda2 /mnt/boot
# chroot /mnt /bin/bash
###chroot# mkdir /boot syslinux
###chroot# extlinux --install /boot/syslinux
###chroot# umount /dev/sda2
###chroot# dd if=/usr/lib/syslinux/mbr.bin bs=440 count=1 of=/dev/sda2
###chroot# exit
# umount /mnt/dev
# umount /mnt/sys
# umount /mnt/proc
# reboot
I also added a /boot/syslinux/syslinux.cfg file:
Code:
PROMPT 1
TIMEOUT 50
DEFAULT arch
LABEL arch
LINUX ../vmlinuz-linux
APPEND root=/dev/mapper/root cryptdevice=/dev/sda3:root ro
INITRD ../initframfs-linux.img
I added a syslinux entry to EasyBCD, pointing it to the second partition to boot. I rebooted and chose the linux option and just got a black screen with flashing text cursor.
I re-tried with the following, wondering if syslinux was relying on the /dev/sda MBR since I didn't use altmbr.bin (the Arch Wiki makes it sound like syslinux might rely on the device MBR if the partition to boot was not explicitly specified.
Thus, I retried with altmbr.bin:
Code:
# print '\x2' | cat /usr/lib/syslinux/altmbr.bin - | dd bs=440 count=1 iflag=fullblock conv=notrunc of=/dev/sda2
This didn't work either. Then I googled around a bit and found a syslinux article on using EasyBCD. Now, since I can't mount my Windows partition in Linux, I manually made a copy of the /dev/sda2 MBR I installed above, rebooted, and then copied the file once running Windows. I used the command:
Code:
# dd if=/dev/sda2 bs=512 count=1 /path/to/syslinux.mbf
I opened EasyBCD and noted the file it pointed to for my Arch entry. I then moved my MBR dd copy to replace the EasyBCD file pointing to my syslinux bootloader (looked to be a UUID of some sort, like linux_{bunch-of-alpha-num-chars}.mbr). When I boot, however, I just get a black screen with a flashing text cursor.
Does anything above look suspicious?
- Should I have stuck with mbr.bin instead of altmbr.bin
- I find the copying of 440 bytes to install syslinux and then dd'ing 512 bytes to use for EasyBCD odd. Is there any issue with that?
- ETA: another thing that occurred to me -- is doing `dd if=/dev/sda2 bs=512 count=1 of=/path/to/file.img` to a flash drive and then copying/renaming the file to replace what EasyBCD is pointing to any different than being able to directly do `dd if=/dev/sda2 bs=512 count=1 of=/path/to/windows/mount/NST/linux-mbr-name.img? If copying is messing with the attributes or exact file contents, could that be my issue? If so, how do I fix that given that I can't mount Windows? I could perhaps run a live CD inside of a virtual environment and dd the file into Windows?
I realize this may get into the syslinux area more than EasyBCD's, but 1) there were some other posts about this (precedent), but the solution (which is what I did above) isnt' working for me and 2) there's only one post in the syslinux archives discussing EasyBCD. It ends with a poster saying that "it should work" but not knowing why and then the thread died.
Thanks for any suggestions on where to start troubleshooting.
John
Last edited: