zoukankan      html  css  js  c++  java
  • 如何在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
    }
    
  • 相关阅读:
    Spring AOP里的静态代理和动态代理,你真的了解嘛?
    redis的三种启动方式
    Linux MySQL分库分表之Mycat
    Linux 之Mycat搭建报错 java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException
    Linux MySQL Proxy 读写分离
    Linux MySQL集群搭建之主从复制
    Linux 虚拟机详细安装MySQL
    MySQL 性能优化细节
    MySQL 性能优化之慢查询
    MySQL事务处理
  • 原文地址:https://www.cnblogs.com/the-capricornus/p/5502297.html
Copyright © 2011-2022 走看看