如何在linux下制作一个windows的可启动u盘?
如何在linux下制作一个windows的可启动u盘?
情景是这样的,有一个windows10的iso,现在想通过U盘安装,要求即支持UEFI(启动引导器),又支持Legacy(启动引导器),因为有一些老的机器是不支持UEFI的。
那现在分析一下情况:
1 windows10的iso本来就是支持UEFI的,你只要将iso的内容拷贝到U盘的分区内,在开机启动时按某个功能键(好些机器是F12键)会出现选择启动方式和启动盘的页面。你只要选择UEFI启动你的U盘就可以。
2 要支持Legacy,那要一个引导程序了,现在流行的是grub2。那要做的就是生成grub的配置文件grub.cfg了,将grub写入MBR。将grub写入MBR通过命令grub-install实现,grub的配置文件就要靠手写了。
现在说一下技术规格:
1 建议u盘的磁盘标签是msdos,因为gpt标签的磁盘需要一个专门的启动分区来配合grub2的工作。这个没试验过,不推荐给大家。
2 分区格式,建议使用ntfs分区。分区大小只要比你的iso大就可以了。
3 分区的开始,建议空出来磁盘开始的2M空间,从2M后开始分区。
现在说一下实现:
以下假设iso的文件名字是win10.iso,u盘设备为/dev/sdb
使用fdisk和parted命令都可以查看磁盘标签。linux下对ntfs的格式化可能需要另外自己找工具。在这里不做建议。
1 挂载iso,将iso内所有的文件拷贝到u盘分区内。
mkdir iso
mount win10.iso iso
cp -r iso/* /dev/sdb1
2 执行grub-install
grub-install --target=i386-pc --boot-directory=iso/boot /dev/sdb
3 手写grub.cfg 将如下的 grub.cfg 文件放入 iso/boot/grub/
# grub.cfg
menuentry "Install Windows 10" {
set root= hd(0,1)
chainloader +1
}
如何在linux下制作一个windows的可启动u盘?的更多相关文章
- 如何在Linux下拷贝一个目录呢
cp -af newadmin/movie/. uploadfile/mallvideo/ 如何在Linux下拷贝一个目录呢?这好像是再简单不过的问题了. 比如要把/home/usera拷贝到/m ...
- 在Linux下制作一个磁盘文件,在u-boot 阶段对emmc 烧写整个Linux系统方法
在Linux 下制作一个磁盘文件, 可以给他分区,以及存储文件,然后dd 到SD卡便可启动系统. 在u-boot 下启动后可以读取该文件,直接在u-boot 阶段就可以做烧写操作,省略了进入系统后才进 ...
- 如何在linux下编写一个简单的Shell脚本程序
在了解了linux终端和其搭配的基本Shell(默认为bash)的基础下,我们就可以在终端中用vi/vim编辑器编写一个shell的脚本程序了 Shell既为一种命令解释解释工具,又是一种脚本编程语言 ...
- 在Linux下制作Linux&windows启动盘
在Linux下制作Linux&windows启动盘 如何在Linux-mint环境下,制作其他Linux发行版的UEFI启动盘,以及Windows10的UEFI模式启动盘. 对于U盘的操作,可 ...
- 在GNU/Linux下制作Windows 10安装U盘
今年春节回家期间,我需要将家里的一台安装了Debian Stretch的ZaReason笔记本电脑更换为Windows 10系统,好让爸妈从老台式机上的XP系统升级到新的平台上来.回家前,小仙女已在微 ...
- Linux下制作Windows启动U盘的工具
Linux下制作Windows启动U盘的工具 很多人说Linux下制作Windwos启动盘要用GRUB4DOS建立引导,其实不用,有专门的工具的,就像Windows下有Rufus制作Linux启动U盘 ...
- 在windows下制作mac os x的启动安装U盘
前几天有幸用了下Macbook pro,可在给它装win 7系统时,无知而又手贱地在windows系统下分区了:( 然后再重启就找不到Mac os x,只有win 7了.可进win 7也不正常,直接给 ...
- (转)如何在Linux中统计一个进程的线程数
如何在Linux中统计一个进程的线程数 原文:http://os.51cto.com/art/201509/491728.htm 我正在运行一个程序,它在运行时会派生出多个线程.我想知道程序在运行时会 ...
- linux下制作linux系统盘(光盘、U盘)
cdrecord制作启动光盘 首先cdrecord -scanbus输出设备列表和标识,(我的此次为5,0,0) [ˈrekərd] 然后用cdrecord -v dev=5,0,0 -eject ...
随机推荐
- (中等) HDU 4370 0 or 1,建模+Dijkstra。
Description Given a n*n matrix C ij (1<=i,j<=n),We want to find a n*n matrix X ij (1<=i,j&l ...
- 使用STM8SF103 ADC采样电压(转)
源:使用STM8SF103 ADC采样电压 硬件环境: STM8SF103 TSSOP20封装 因为项目需要用到AD采样电池电压,于是便开始了使用STM8S ADC进行采样,也就有了下文. 手册上对S ...
- Vim配置C++
当前用户的Vim配置便存储在文件 ~/.vimrc 中,该文件的每一行便是一个配置项 设置自动换行,在配置文件中加入如下代码: syntax onset tabstop=4set softtabsto ...
- ios 字体设计
ref: http://ju.outofmemory.cn/entry/217705 ref:http://gold.xitu.io/entry/57958a41128fe10056be13b1 下面 ...
- php小知识。
合并数组的2个方式区别 1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖) 2)键 ...
- ARM交叉编译工具链分类说明
转载整理自:http://www.veryarm.com/cross-tools 从授权上,ARM交叉编译工具链分为免费授权版和付费授权版. 免费版目前有三大主流工具商提供,第一是GNU(提供源码,自 ...
- R Student Companion(R语言初学指南)的源代码_数据_插图
下载内容见附件:http://files.cnblogs.com/files/ml-cv/data_And_R_script.zip.
- 使用React Native来撰写跨平台的App
React Native 是一个 JavaScript 的框架,用来撰写实时的.可原生呈现 iOS 和 Android 的应用.其是基于 React的,而 React 是 Facebook 的用于构建 ...
- 在PHP语言中使用JSON
目前,JSON已经成为最流行的数据交换格式之一,各大网站的API几乎都支持它. 我写过一篇<数据类型和JSON格式>,探讨它的设计思想.今天,我想总结一下PHP语言对它的支持,这是开发 ...
- Windows 10安裝在USB外接硬碟(使用命令模式)
微軟公司已經在2015年7月29日發佈Windows 10正式版,這個版本在使用介面上就像是Windows 7加上Windows 8的組合, 開始鍵與功能列回來了.微軟提供Windows 7與Wind ...