Linux 环境下制作启动盘

最近有点迷 ARPG,但是自己的 T470P 上只有一个 Ubuntu 系统,所以买了一个 2422 的固态往上面装个 Win10,Linux 下构建启动盘还是蛮多坑的,下面记录一下操作流程,免得以后忘了。

一、开始构建启动盘

因为 Win10 支持 UEFI 引导,而我的系统之前安装的也是 UEFI 版本的 grub,所以我的目标也是安装一个采用 UEFI 引导的 Win10 系统,不要和 MBR 搞混了,如果按 MBR 模式格式化会出错(我试过,系统会卡在引导界面进不去)。
下面我会按顺序将操作步骤罗列一遍。

1. 下载 Win10 镜像

上官网直接下载镜像即可:https://www.microsoft.com/zh-cn/software-download/windows10/

2. 格式化 U 盘

我选择使用gparted来格式化 U 盘,可以直接用apt下载这个工具。
2.1 Unmount
卸载U盘
也可以用 umount 命令,假设 U 盘被挂载到了/media/hgc/A目录下:

1
sudo umount /media/hgc/A

2.2 Create Patition Table
patition table type(分区表类型)选择gpt
创建分区表
2.3 Create New Patition
新建分区
File system 选择fat32
Label 按自己喜好填一个,比如A
2.4 Manage flags
分配一个boot标识。
分配标识

3. 拷贝镜像文件

使用 mount 命令挂载 iso 文件:

1
2
sudo mkdir /mnt/win10
sudo mount Win10_1607_English_x64.iso /mnt/win10/

然后用 cp 命令全部复制到 U 盘的挂载目录下,当我们插入 U 盘时,系统会帮我们将 U 盘挂载到,其中label就是上边填的那个标识,比如:

1
sudo cp -r /mnt/win10/* /media/hgc/A/

我们的启动盘已经完成了,就这么简单。

二、使用启动盘安装系统

接下来的步骤就比较简单了。

确保 BIOS 支持 UEFI

不同主板配置项多少会有所不同,但是现在不是特别老的主板基本都支持 UEFI。
确保BIOS支持UEFI引导1
确保BIOS支持UEFI引导2

修改引导优先级

将 U 盘引导优先级提到最先:
调整引导优先级1
调整引导优先级2
安装完后如果要切换进入不同的系统,也可以通过修改引导优先级来实现。

安装 Win10

按照网上的说明一顿操作即可,只是注意不要把原来的系统覆盖了。

三、一些问题

插了 U 盘不识别

得承认 T470P 还是有不少毛病,之前就出现过插上电源充不进电的情况,这次又碰到插上 U 盘没反应的情况(换了两个 U 盘都是如此),感觉品控有待加强。
判断是否挂载可以用fdisk命令:

1
sudo fdisk -l

挂载文件系统后发现是只读的

可以尝试重新挂载
查看磁盘和挂载的文件系统:

1
sudo fdisk -l

在/etc/fstab 文件中添加下面的挂载信息:

1
/dev/sdb6 目标挂载位置(如/mnt/或/media/,后者可以在文件系统的图形界面上看到,前者是默认挂载位置) ntfs default 0 1

重新挂载:

1
2
umount /dev/sdb6 # 取消挂载
mount -w /dev/sdb6 # 重新以可写方式挂载

发现会出现挂载错误:“Metadata kept in Windows cache, refused to mount”,可能是 Windows 操作系统使用不当导致的,可以使用 ntfsfix 工具修复一下:

1
sudo ntfsfix /dev/sdb6

四、基础知识

磁盘

分区

扇区
磁盘分区

文件系统

参考

装机

  1. Ubuntu 下制作 windows U 盘启动盘
    这篇博客说明了如何为 MBR 引导的系统制作启动盘,如果目标是安装 Win7 的话会比较有参考价值,因为 Win7 仅支持 MBR。
  2. Make a bootable Windows USB from Linux

磁盘和文件系统

  1. ssd 和 hdd 是什么啊,区别是什么呢!
  2. SSD 还分随机和顺序 IO 吗?
    SSD 和 HDD 之间,除了存储介质不同,实现原理也有区别。
  3. SSD Wiki
  4. RAID
    把 HDD 换成 SSD 后速度是变快了,但可靠性并没有提高,企业级的基础设施必须通过冗余来提高可靠性,RAID 是针对磁盘的冗余技术。
  5. Data striping
    RAID5 中应用的冗余技术,且能提高对磁盘的并行访问能力。

Boot

  1. BIOS,MBR 与 grub-我从哪里来
  2. 分区的概念
  3. 利用 fdisk 进行分区
  4. Linux 对大容量硬盘分区(parted)

Linux 虚拟文件系统

  1. inode
  2. 软链接和硬链接
  3. 文件洞(hole in file)
  4. 【底层原理】Linux 文件系统的实现
  5. 《深入 Linux 内核架构》 - 第 67 章设备驱动,及第 811 章文件系统