archlinux安装与应急使用双用U盘
archlinux安装与应急使用双用U盘
- 本次方案建议使用16G及以上的U盘进行安装,以保证得到较好的体验
- 建议使用
USB3.0
及以上的U盘,当然2.0
也没问题,如果不使用图形界面的话 - 本次是在linux环境下完成的,当然Windows下也可以实现
使用意义
在使用archlinux启动盘之前需要用dd
命令将U盘刻为启动盘,这样就导致整个U盘分区被dd
修改,最明显的是第一个装有安装环境的分区被分配了一个iso9960
标志并且使用cfdisk
打开该设备是会有提示使用写命令
是会丢失丢失该标志从而导致标签异常使得启动异常,而安装环境仅有600+
M,白白浪费了该启动盘的其他空间,因为不可以新建分区。
另一方面,对于某些情况下,例如电脑的系统炸了,但是又要很快地进行某些工作的时候,例如运维、出差是别的电脑是win系统等情况时,需要尽快的使用linux操作系统的时候,如果有一个装在U盘里面的移动的linux操作系统就可以解决燃眉之急了,并且,在日常使用的时候也可以偶尔使用U盘里面的linux系统
一些想体验linux操作系统又怕把自己的电脑搞坏的人也可以使用这一方案进行双系统使用,而不是去使用linux live环境。
所以,在以上的需求之下,这一使用方案就从我的脑子应运而生了。
基本想法
主要实现的基本想法就是通过将刻好的启动盘的内容复制出来后在重新格式化U盘重新分区并尽量将前两个分区模仿原有的启动盘方案,然后剩下的分区在重新利用。
,使用gparted
或者blkid
(Windows可以使用分区工具查看)查看U盘经过dd
刻录之后的文件系统
和标签
。
之后使用mount
命令将其第一和第二个分区挂载后将其内容复制出来
准备阶段
- USB移动U盘或者移动硬盘一个
- archlinux安装镜像一个
- virtualbox等虚拟机或者是使用实体机一台
开始配置
刻录启动盘
首先下载archlinux的iso镜像,然后使用dd
命令刻录一个启动U盘。
- archlinux镜像下载地址(清华https)
sudo dd if=/path/to/archlinux/iso of=/path/to/your/Udisk
/path/to/archlinux/iso
是iso镜像路径/path/to/your/Udisk
是要刻录的U盘,注意是整个U盘的设备,不要加上分区号!bs
即block size
可以直接用默认的
Windows下
windows
系统下可以使用rufus
的dd
刻录
挂载复制分区内容
- 本步骤目的是把启动盘
安装环境
分区内容和EFI
分区内容复制出来 - 复制
安装环境
分区内容目的是让新分区后U盘重设标签后内容能够保持正确 - 复制
EFI
分区内容是因为dd
默认刻录的时候分配的EFI
太小了,只有64MB
,而启动盘原有的启动内容本身就已经占用了45MB
了,为了保证能够让新安装的linux共享的EFI
分区能够有足够的空间,取药新分出一个500MB
的EFI
分区。 - Windows下如果无法访问的话推荐使用虚拟机直接读取archlinux镜像进入安装环境使用纯命令行进行操作
- 先复制第一分区(安装环境分区)
#sdXY是U盘设备的第一个分区号
sudo mount /dev/sdXY /mnt
#下面步骤可以用文件管理器代替
cp -r /mnt path/to/save/files
umount -R /mnt
- 在复制第二分区(EFI分区)
#sdXY是U盘设备的第二个分区号
sudo mount /dev/sdXY /mnt
#下面步骤可以用文件管理器代替
cp -r /mnt path/to/save/files
umount -R /mnt
重新分区U盘
- 推荐使用形化操作的软件进行,linux下推荐使用
gparted
,Windows下推荐Disk Ginuns
- 将分区分为
msdos
格式,也就是MBR,划分出700M
,500M
,以及剩下空间
的三个分区 - 将
700M
的分区格式化为fat32
,卷标为ARCH_日期年月
(如果是2020年2月的话就是ARCH_202002) - 将
500M
分区格式化为fat32
,卷标为ARCHISO_EFI
。 - 剩下的那个分区格式化为
ext4
,也可以不管,在安装linux系统的时候在用,也可以格式化为其他的分区格式作为他用,但是本文是用来安装linux的。
示例
恢复安装盘的个分区内容
再次使用挂载命令将分区挂载,然后将对应的分区内容回复就行,需要注意的是,安装环境的分区卷标是ARCH_日期年月
的,启动分区的卷标是ARCHISO_EFI
的,不要恢复错误。
安装archlinux
- 安装archlinux至新分区中,参考文章archlinux安装篇
- 新系统最好使用bootctl