I'm not saying this is the best or optimum way to do this, but it is a way to do it.
Use the laptop to boot tinycore from a usb stick.
Not essential, but to ensure the existing single partition on the laptop hard drive does not contain retrievable data: $ tce-load -i coreutils
$ sudo shred --verbose -n1 /dev/sda1
Then use fdisk to create four primary partitions:$ sudo fdisk /dev/sda
d [delete partition]
n [add partition]
t [set filesystem]
a [set bootable]
w [write filesystem]
sda1: ntfs code 7 [set bootable]
sda2: linux filesystem code 83 [set bootable]
sda3: linux swap code 82
sda4: linux filesystem code 83
Next make the file systems: $ tce-load -i ntfsprogs
$ sudo mkntfs /dev/sda1
$ sudo mkfs.ext4 /dev/sda2
$ sudo mkswap /dev/sda3
$ sudo mkfs.ext4 /dev/sda4
Now reboot the laptop from a windows-7 dvd - when it asks, install it to the first partition, which will require several re-boots.
Once windows-7 has finally installed, reboot the laptop from the tinycore usb stick and copy the tinycore boot files from the usb stick to the second partition: $ sudo mount /dev/sda2
$ sudo mkdir /mnt/sda2/boot
$ sudo cp /mnt/sdb1/boot/rootfs.gz /mnt/sda2/boot
[repeat for modules.gz, vmlinuz, rootfs64.gz, modules64.gz, vmlinuz64]
Install grub2 to the second partition: $ tce-load -i grub2
$ sudo grub-install --boot-directory=/mnt/sda2/boot /dev/sda
Note when using a (u)efi boot machine to make a bios boot add "--target=i386-pc"
Use vi or other text editor to creat a grub2 configuration file such that: $ cat /mnt/sda2/boot/grub/grub.cfg
insmod ext2
menuentry "rootfs" {
set root=(hd0,2)
linux /boot/vmlinuz quiet text
initrd /boot/rootfs.gz /boot/modules.gz
}
menuentry "rootfs64" {
set root=(hd0,2)
linux /boot/vmlinuz64 quiet tce=sda2/tce64 text
initrd /boot/rootfs64.gz /boot/modules64.gz
}
menuentry "windows" {
insmod chain
insmod ntfs
set root=(hd0,1)
chainloader +1
}
You can now reboot and use the grub2 menu to choose between tinycore, corepure64 and windows.