First, the easy question: Your swap partition should normally be 1-2x your RAM size. So if you've got 4GiB of RAM, you'd want 4-8GiB of swap space. Today, most computers don't use swap much, except for the fact that it's used in suspend-to-disk operations, which require swap space to be at least equal to your RAM size.
As to your main problem, I recommend you try creating a USB flash drive or CD-R with my rEFInd boot manager. The download page includes links to versions for both types of media. If you can boot to the rEFInd menu, it will probably show you at least three options:
- One for Windows
- One for GRUB (
EFI\ubuntu\grubx64.efi
), which might boot through to Ubuntu
- One for Linux (
boot\vmlinuz-3.5.0-17-generic
), which will probably boot Ubuntu
There may be additional options, too. Try them all. If you can boot both Windows and Linux (via GRUB or not), try installing the rEFInd Debian file from Ubuntu. With any luck, that will get you booting regularly via rEFInd. If not, try launching Windows, opening an Administrator's Command Prompt window, and typing bcdedit /set {bootmgr} path \EFI\refind\refind_x64.efi
. This should set rEFInd as the default boot loader.
If even that doesn't work, try booting to Linux and moving /boot/efi/EFI/Microsoft/Boot/bootmgfw
to /boot/efi/EFI/Microsoft/bootmgfw.efi
-- that is, move bootmgfw.efi
down one level. This will move Microsoft's boot manager out of the way so that the firmware won't find it. (Some EFIs are broken and try to boot Windows first, no matter what you tell them to do.) You may also need to type sudo mvrefind.sh /boot/efi/EFI/refind /boot/efi/EFI/BOOT
, which moves rEFInd to a fallback position that normally works on any computer, even if the firmware can't remember what you tell it about your boot loaders.