How would I go about creating a CentOS 7 bootable USB drive with Windows? I've read the howto page for it and it says that Unetbootin and Universal USB installer won't work for CentOS 7. In addition, I've already tried dd for Windows, and that didn't work properly either – booting from the USB drive resulted in a "Machine Check Error".
Centos – How to create a bootable USB with Windows
centoslive-usbwindows
Related Solutions
I did it like this:
$ wget http://archive.ubuntu.com/ubuntu/dists/karmic/main/\
installer-i386/current/images/netboot/boot.img.gz
Or to choose current Ubuntu Natty and amd64 architecture:
$ wget http://archive.ubuntu.com/ubuntu/dists/natty/main/\
installer-amd64/current/images/netboot/boot.img.gz
# zcat boot.img.gz > /dev/sdc
# eject /dev/sdc
On an old Thinkpad R40 the bios USB boot support was not that great - the bios wanted a mbr, thus I created the USB stick like this:
# cfdisk /dev/sdc
only one primary partition
file system type -> 06
bootable
write
# lilo -M /dev/sdc
# zcat boot.img.gz > /dev/sdc1
# eject /dev/sdc
Note that this method uses the text-based network installer.
Of course, you have to adjust the USB device name (/dev/sdc
above), the Distribution name (Karmic is not 11.04) and architecture (x86 vs. amd64).
I'm working on an update to this question/answer.
This doesn't work without errors, but as I worked with @jiewmeng I uncovered that the goal was to use a USB to install both Windows and Ubuntu onto one hard drive, UEFI.
It has taken a while and I've found the solution but we need to clean the question and answer.
Maybe the original question can be answered as well but since the goal was more on the install side the single boot UEFI USB seemed less important.
I'm presently using two USB sticks one for Windows, one for Ubuntu.
This is a WIP to be updated ASAP
I've been working on this for a few days, spare hour here and there and finally have a single USB, that will boot and offer installation of windows 7 and ubuntu.
My config is 64 bit specific, you could try and change to accomodate a 32bit intall but there are many differences in filenames. Please follow up if you need 32bit. That said...
You cannot install Windows 7 from a GPT formatted USB.
You can use gdisk, or parted, and create a GPT USB, which will boot via UEFI.
You'll be able to configure the UEFI boot manager to load the Windows installer from the USB but the installer will search for files and data needed to perform the installation and it won't recognize the GPT USB, while it will find an MBR USB.
However, this is of little consequence as UEFI looks at the MBR/GPT and the EFI partition, see the Wikipedia entry on UEFI Booting
In spite of using a std MBR for the USB, one can install via UEFI to a GPT disk.
The following worked using 64bit installs, on 64bit UEFI Asus Sabertooth.
The firmware on each motherboard is very specific and each motherboard UEFI firmware searches for UEFI boot differently. You may have issues with your motherboard finding boot data, but the following works on my ASUS.
Here's how I made a bootable USB with an installable copy of the Windows 7 64bit DVD and an Ubuntu ISO (in this example, the 11.10 64bit desktop iso).
Using an 16G USB, which is all I had at hand...
my USB installed as /dev/sdc, change the relevant references to the appropriate device for your USB.
Make sure you have 7zip installed.
fdisk /dev/sdc
create new MBR, 'o' command
create new partition, part 1, size 8G, type ef, set bootable, write
mkfs.vfat -F32 /dev/sdc1
mkdir /mnt/USB
mount /dev/sdc1 /mnt/USB
insert Windows 7 x64 DVD, again, mine appeared as /media/UDF\ Volume, you need to change references below
# Extract/Copy the entire Windows DVD to the USB
cp -r /media/UDF\ Volume/* /mnt/USB
# I don't know what effect the following rename has, I copied blindly from another webpage.
mv /mnt/USB/sources/ei.cfg /mnt/USB/sources/ei.cfg_
cd /mnt/USB/efi/microsoft/boot/
7z e /mnt/USB/sources/install.wim 1/Windows/Boot/EFI/bootmgfw.efi
cp -r /mnt/USB/efi/microsoft/boot /mnt/USB/efi/
mv /mnt/USB/efi/boot/bootmgfw.efi /mnt/USB/efi/boot/bootx64.efi
# At this point I booted the USB, and installed Windows 7 to a GPT SSD
# Upon reboot I noticed the Windows Boot loader in my UEFI boot list (actually it made itself 1st).
# so, here we have a standalone Windows7 UEFI installer that will function correctly (64bit ASUS, at least).
# Now, on to adding Ubuntu
cd /mnt/USB
7z x /path2iso/ubuntu-11.10-desktop-amd64.iso
# If 7z finds prexisting files with the same name, just allow always overwrite
# (Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit? A
# At this point I booted the USB, and installed Ubuntu x64 to a GPT SSD
# we have a standalone Ubuntu 64bit installer that install Ubuntu 64
# Now, on to add a boot manager that will allow us to select between Windows 7 and Ubuntu
# Get the target UUID of the USB partition, using either blkid or the following command
grub-probe --target=fs_uuid /mnt/USB/efi/Microsoft/Boot/bootmgfw.efi
will print YOUR_UUID # Substitute into the following references to YOUR_UUID
# Append the following menuentry to /mnt/USB/boot/grub/x86_64-efi/grub.cfg
menuentry "Microsoft Windows x86_64 UEFI-GPT Setup" {
insmod usbms
insmod part_gpt
insmod part_msdos
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --no-floppy --set=root YOUR_UUID # <- CHANGE THIS TO YOUR UUID
chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
}
And voila! A working USB stick that uses grub as boot manager, allowing installation to GPT disks with UEFI install.
If you have an errors, don't hesitate to msg me, and I'll look into it.
Best Answer
I've used rufus to make bootable drives on Windows in the past and it has worked well.
You could also try iso2usb