There are basically two ways you can configure dual booting.
- Windows "bootmgr" starts first
- Linux "grub" or "lilo" starts first
On a netbook you also have the problem that fixing boot problems with Windows is not easy unless you have a USB CD-ROM drive and Windows Setup disc.
What I recommend is that you leave Windows "bootmgr" as the first boot loader to start and add a menu entry to start Linux.
It's easier to do that using GRUB because you won't have to update the boot sector every time that you make a change in the Linux kernel or Linux boot menu.
Here is a link to an explanation that I posted about how to do that in Ubuntu. The process in Slackware is the same, except that you must install the GRUB package for Slackware.
Installing GRUB as a Windows boot menu choice
Notice that you have to make a copy of the boot block for GRUB.
To set up the GRUB boot block from your Linux USB Thumb drive, boot the thumb drive for Slackware setup.
Then mount your Slackware partition. My instructions below assume that Slackware is the third Primary partition on the Internal hard disk.
Code:
mount /dev/sda3 /mnt
chroot /mnt
mount -t proc none /proc
mount -t sysfs none /sys
Install the GRUB package for Slackware. Copy the required files to "/boot/grub".
Code:
mkdir /boot/grub
cd /boot/grub
cp /usr/lib/grub/i386-pc/* .
Set up GRUB to start from the Third primary partition's boot sector.
Code:
grub
root (hd0,2)
setup (hd0,2)
quit
Use a text editor to create a "menu.lst" file for grub.
Code:
cd /boot/grub
nano menu.lst
In "menu.lst" you need a boot entry to start Linux. The entry to start Windows is optional if Windows "bootmgr" will be starting first.
Code:
default 0
timeout 5
title Linux
root (hd0,2)
kernel /boot/vmlinuz root=/dev/sdr3 ro vt.default_utf8=0
title Windows 7
rootnoverify (hd0,0)
chainloader +1
Now you make a copy of the Linux partition's boot sector. You can skip this step if you will always start the Linux boot manager first.
Code:
dd if=/dev/sda3 of=/tmp/bootsect.lnx bs=512 count=1
Copy the "/tmp/bootsect.lnx" file to something that Windows can read, such as a thumb drive with an "NTFS", "FAT32" or "FAT16" filesystem.
Unmount the Slackware partition.
Code:
umount /sys
umount /proc
exit
umount /mnt
The rest of these steps can be skipped if you always boot the Linux bootloader first.
Boot Windows 7. It should still be the first (default) bootloader.
Copy the "bootsect.lnx" file to the root of drive C:
Click the start menu button, click "All Programs" then click "Accessories". Look for the "Command Prompt" in the menu. Right click the mouse on "Command Prompt" and then click the left mouse button on "Run as administrator".
Use the "bcdedit" program to add a Linux to the Windows boot menu.
Code:
bcdedit /create /d "Slackware Linux" /application bootsector
Note the long number displayed for the ID of the new entry. You can drag the mouse cursor over it and copy it to the clipboard so that you can paste into commands. Replace "ID" below with the actual ID number displayed.
Code:
bcdedit /set {ID} device partition=c:
bcdedit /set {ID} path \bootsect.lnx
bcdedit /displayorder {ID} /addlast
If you want a different time-out for the menu besides 30 seconds then set the time-out.
Replace the "5" with the number of seconds that the menu should be displayed before the default is chosen automatically.
You only have to do these things once unless you reinstall GRUB. Then create a new "bootsect.lnx" and copy it to the root of drive C:
If you use LILO that will work, but remember to update "bootsect.lnx" every time that you edit "lilo.conf" and run "lilo". Copy the updated "bootsect.lnx" to the root of drive C:
If you want to use a Windows program to save the boot sector file directly, then you can download the Windows XP Support tools and run the "DSKPROBE" utility. That will let you read from a sector and save it in a file but it is a bit more complicated than using "dd" in Linux. The only reason to do that is if you have absolutely no way to get the Linux "/tmp/bootsect.lnx" file over to Windows.
If you want the Linux bootloader to start first, use "fdisk" or "cfdisk" in Linux. Clear the "Boot" flag for the first Primary partition (Windows) and set the "Boot" flag for the Third Primary partition (Linux). Also, make sure that you add Windows to the "menu.lst" file. This is safer than installing GRUB to the MBR because you can easily change it back to make Windows boot first. If you delete the Linux partition, remember to change the "Boot" flag back to the first partition.
Installing GRUB or LILO to the MBR is not necessary because you can install the Linux boot-loader to the Linux partition and make that the "Boot" partition.
I usually do all of the steps that I provided so that I can change which bootloader starts first and still always get to the other bootloader.