在Ubuntu Linux下制作Windows 启动安装 USB盘

在Ubuntu Linux下制作Windows 启动安装 USB盘

在Ubuntu下制作Windows的启动盘,直接dd或etcher写的盘是启动不起来的。

  • 因为Windows启动盘要求主分区激活和MBR,U盘上如果已经设置了激活主分区和MBR是可以DD一个ISO文件后启动的。
  • 但是etcher会覆盖掉整个U盘而且没有设置,因此etcher目前还无法制作出可启动的Windows系统U盘。
  • 可以使用rufus来制作,但是只能在Windows下运行。
  • 在MacOS上可以使用BootCamp来制作WIndows启动U盘。

最近想 ,在Ubuntu上刻录个windows的安装U盘,在网上看了些资料,不过好多都说的很模糊,于是乎,我走了不少弯路。这里记录下来,希望了帮到大家。

首先你的有个USB吧,这里我们假定USB在ubuntu中为/dev/sdb

1. 给USB设备 /dev/sdb 分区,注意,要是主分区,

sudo fdisk /dev/sdb
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
Using default value 1
First sector (2048-15564799, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-15564799, default 15564799): 
Using default value 15564799

Command (m for help): p


Disk /dev/sdb: 7969 MB, 7969177600 bytes
246 heads, 62 sectors/track, 1020 cylinders, total 15564800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8d55b9cb


   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    15564799     7781376   83  Linux

上面/dev/sdb1就分出来了,全部的空间都给了sdb1

2. 然后把/dev/sdb1设置为启动分区

Command (m for help): a
Partition number (1-4): 1
​
Command (m for help): p


Disk /dev/sdb: 7969 MB, 7969177600 bytes
126 heads, 10 sectors/track, 12353 cylinders, total 15564800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8d55b9cb

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048    15564799     7781376   83  Linux

我们可以看到,sdb1后面,多了个*

3. 接下来,把上面做的所有改动写入USB

Command (m for help): w
The partition table has been altered!


Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

然后就是q退出

4. 将分区格式化为ntfs的

sudo mkfs -t ntfs /dev/sdb1

这个过程中,会把分区中写入全0,大概会等几分钟

5. 接下来就是把下载好的iso文件dd到这个启动分区了

# 把下载的iso文件刻录到usb的分区中(及得,一定是分区,否则下次用这个usb是会出现 Operating not found的问题
sudo dd if=/home/peter/Downloads/WindowsTechnicalPreview-x64-ZH-CN.iso of=/dev/sdb1 bs=4M iflag=direct​

看到了吧,我在安装win10

6. 现在还不可以从usb盘启动,还要在usb盘MBR区信息写入,这需要一个工具LILO

sudo apt-get install lilo
sudo lilo -M /dev/sdb mbr

下次启动的时候,选择这个USB启动就会出现windows的安装界面了!

猜你喜欢

转载自my.oschina.net/u/2306127/blog/1796090