linux中TF启动卡制作:磁盘分区&文件同步

该文详述了如何在Ubuntu18.04系统中使用虚拟机对TF卡进行磁盘卸载、分区、格式化,并通过rsync进行文件同步,以创建启动卡。主要步骤包括连接TF卡,删除并创建新分区,格式化为FAT32和EXT4,以及检查和拷贝BOOT启动文件。

前言:

TF卡在linux环境下配置好相关软件后,把配置好的系统以及软件放到zynq中使用。

本文以32G容量的TF卡为例,基本上按照步骤走一遍就可以完成了,内容比较简单,这里记录是为了方便自己后续制作,同时也分享给有需要的人。

本文是使用Ubuntu18.04版本的操作系统,同时使用的是VMware17虚拟机。


1. 连接TF卡

新的TF卡通过读卡器插入电脑
在这里插入图片描述

将TF卡连接到虚拟机中
在这里插入图片描述
通过这里调整TF卡与虚拟机的连接与断开,实现TF卡在虚拟机和主机之间的切换。


2. 磁盘卸载载与分区

2.1 磁盘卸载

进入虚拟机打开控制终端
在这里插入图片描述

输入指令:sudo umount /dev/sdb*

因为拷贝系统之类的,涉及到很多权限不允许情况,所以最好切换到root
输入指令:su切换为root权限,接着输入密码

在这里插入图片描述

输入指令sudo fdisk /dev/sdb

在这里插入图片描述

2.2 创建第一个分区

输入“p”查看,看存在的分区,同时查看每一个扇区的大小,这里为512B
输入“d”删除分区,删除全部分区确保是全新创建,
输入“n”创建一个新分区,输入”p“成为主分区
在这里插入图片描述

在这里插入图片描述

默认使用分区号1和第一分区起始地址2048
设置第一个分区大小“500M” ,那么对应的地址应该是1024000
这个1024000的怎么来的?我们要给这个分区设置500MB,我们看一个块大小是512bytes即0.5KB。那么1KB=1024bytes,500MB=5001024KB=500512bytes*2个块=1024000个块

在这里插入图片描述这里稍小一点是因为分区是从2048开始的,不是从0,所以这里没有500MB。
当然了,大差不差,如果那么讲究的话,那就在1024000上面再加2048。

输入”t“,然后输入”c“,设置成”W95 FAT32(LBA)”
输入”a“,设置为引导分区,至此第一个分区创建好了。
在这里插入图片描述

2.3 创建第二个分区

输入"n",接下来一路默认,如果没问题了输入“w”写入到SD卡并退出。
在这里插入图片描述

分区的指令说明如下:

命令说明
a设置可引导标记
b编辑bsd磁盘标签
c设置DOS操作系统兼容标记
d删除一个分区
1显示已知的文件系统类型。82为Linux swap分区,83位Linux分区
m显示帮助菜单
n新建分区
0建立空白DOS分区表
p显示分区列表
q不保存退出
s新建空白SUN磁盘标签
t改变一个分区的系统ID
u改变显示记录单位
v验证分区表
w保存退出
x附加功能

3. 磁盘格式化

对分区好的磁盘进行格式化,只有格式化后电脑才可以识别的分区。
依次输入下面指令
sudo mkfs.vfat -F 32 -n BOOT /dev/sdb1把刚才分区的第一块格式化为FAT32格式,名为BOOT的分区(Windows下可读取)
sudo mkfs.ext4 -L EXT4 /dev/sdb2把分区的第二块格式化为EXT4格式,名为EXT4的分区一般在Linux中使用。

输入指令:chmod 777 /media/ubuntu/EXT4
这里ubuntu对应的是你的用户名,不同用户这里的路径是不一样的。
这条指令是把EXT4的分区权限放开,便于后续进行同步操作。

4. 文件同步

文件同步的作用就是备份作用,相比于直接拷贝,更大的好处在于权限的一致。
如果直接把系统文件进行拷贝,可能会出现权限不一致情况,这是因为umask的原因。之前因为这个踩过坑,所以相比直接复制,文件同步更为专业。
输入以下指令,具体目录因电脑而异。
rsync -av /home/ubuntu/makeTF/* /media/ubuntu/EXT4/
这里rsync表示同步指令;

-a, –archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD (这个非常重要)

-v, –verbose 详细模式输出;这个只是可视化的作用。

其他备选参数可参考博客rsync参数

第一个目录是源目录即要同步的源文件,第二个目录是目标目录即源文件同步到哪里去。这个根据自己文件的位置进行调整。

5. 检查与BOOT分区启动文件拷贝

同步的过程中,可能会存在文件同步失败,所以我们需要查看一下文件大小,在对应的目录下用ls -al命令进行对比查看。

因为是制作启动卡,所以BOOT分区还需要进行拷贝启动文件,这个其实就只需要把TF卡与虚拟机的连接断开,使其连接到windows上,接着把windows上的程序拷贝进去即可。


总结:

这篇文章记录了TF卡制作的一个流程,也写了点自己踩过的坑和对应的解决方案。整体还是比较简单,熟能生巧。

<think> 我们之前讨论的是Vim编辑器的格式化清除,现在用户询问的是Linux系统中恢复备份文件的方法,并且给出了两个引用。 引用[1]是关于dump命令的备份语法,引用[2]是关于系统恢复的概述。用户明确表示想查找恢复备份文件的方法。 根据引用[1],dump命令用于备份,那么恢复备份通常使用restore命令。因此,我们需要给出restore命令的使用方法。 同时,考虑到用户可能使用其他备份工具(如tar, cpio等),但引用中明确提到了dump,所以我们重点讲解restore命令。 步骤: 1. 介绍restore命令的基本用法。 2. 给出常用选项和示例。 3. 注意事项。 另外,用户给出的引用[2]提到系统恢复的过程,我们可以结合说明恢复的步骤。 因此,回答结构如下: ### Linux系统中恢复备份文件的方法(使用restore命令) 在Linux系统中,如果备份是使用`dump`命令创建的,则可以使用`restore`命令来恢复备份文件。`restore`命令提供了多种恢复模式,包括交互式恢复、全量恢复和增量恢复等。 #### 1. 恢复备份的基本语法 ```bash restore [选项] [-f 备份文件] [目标目录] ``` 常用选项: - `-C`:比较备份内容与当前文件系统的差异(用于验证备份)。 - `-i`:进入交互模式,可以选择性地恢复文件。 - `-r`:恢复整个文件系统的备份(通常用于全量恢复)。 - `-t`:列出备份文件中的内容。 - `-f`:指定备份文件。 - `-x`:从备份中提取指定文件或目录。 #### 2. 恢复示例 **示例1:列出备份文件内容** 在恢复之前,可以先查看备份文件中包含哪些内容: ```bash restore -tf /path/to/backup_file ``` **示例2:全量恢复(恢复到备份时的状态)** 如果是恢复整个分区(例如`/home`分区),并且备份是0级备份(全量备份),则可以使用: ```bash cd /home # 切换到要恢复的目标目录 restore -rf /path/to/backup_file ``` **示例3:增量恢复** 如果有多级备份(例如0级备份和1级备份),需要按照备份顺序恢复: ```bash cd /home restore -rf /path/to/level0_backup # 先恢复0级备份 restore -rf /path/to/level1_backup # 再恢复1级备份 ``` **示例4:交互式恢复(选择特定文件)** ```bash restore -if /path/to/backup_file ``` 在交互模式中,可以使用命令: - `ls`:列出当前目录下的文件和目录。 - `cd`:切换目录。 - `add`:添加要恢复的文件或目录。 - `extract`:开始提取添加的文件。 - `quit`:退出。 **示例5:恢复单个文件或目录** ```bash restore -xf /path/to/backup_file -C /path/to/restore/target file_or_directory_name ``` 或者使用交互模式选择。 #### 3. 注意事项 - **权限要求**:执行恢复操作通常需要root权限。 - **恢复位置**:全量恢复一般需要在目标分区的挂载点进行操作(如上述示例中先进入`/home`)。 - **备份验证**:恢复前建议使用`-C`选项检查备份文件的完整性。 - **备份顺序**:增量恢复必须按照备份级别从低到高(0->1->2...)依次恢复。 ##### 引用说明: dump命令用于备份,而restore命令用于恢复,这是Linux系统备份与恢复的经典工具组合[^1]。系统恢复是系统管理的重要组成部分,确保系统的可靠性和可用性[^2]。 如果您的备份文件不是由`dump`创建,而是使用其他工具(如`tar`, `cpio`等),则需要使用对应的恢复命令(如`tar -xvf`等)。 以下流程图描述了恢复备份的基本过程: ```mermaid graph LR A[开始] --> B[确定备份文件类型] B -- dump备份 --> C[使用restore命令] B -- tar备份 --> D[使用tar命令] B -- cpio备份 --> E[使用cpio命令] C --> F[选择恢复模式:全量/增量/交互] F --> G[执行恢复] G --> H[验证恢复结果] H --> I[结束] ``` §§相关问题§§ 1. 如何验证dump备份文件的完整性? 2. 除了restore命令,还有哪些常用的Linux备份恢复工具? 3. 增量恢复过程中如果某个级别的备份损坏了怎么办? </think> ### 🌟 Linux系统中恢复备份文件的方法 在Linux系统中,备份文件的恢复方法取决于备份时使用的工具。根据您提供的引用,系统级备份通常使用`dump`命令创建,其主要恢复工具为`restore`命令。以下是详细恢复方法: --- #### 📦 1. **使用`restore`命令恢复dump备份** **适用场景**:恢复使用`dump`创建的完整备份或增量备份 **基本语法**: ```bash restore [模式选项] -f 备份文件 [恢复目标路径] ``` **常用模式选项**: - `-r`:恢复整个文件系统(需要按备份级别顺序恢复) - `-i`:交互式恢复(浏览/选择文件) - `-t`:查看备份内容列表 - `-x`:提取指定文件/目录 - `-C`:比较备份与当前文件的差异 **操作示例**: ```bash # 查看备份内容(确认需要恢复的文件) restore -tf /backup/system_dump.bz2 # 完整恢复文件系统(需在目标分区挂载点操作) cd /mnt/recovery # 进入恢复目录 restore -rf /backup/full_dump_level0 # 先恢复0级备份 restore -rf /backup/incr_dump_level1 # 再恢复增量备份 # 选择性恢复单个文件 restore -xf /backup/system_dump.bz2 -C /home/user/docs/report.txt ``` --- #### 🔄 2. **增量备份恢复流程 ```mermaid graph LR A[开始恢复] --> B[恢复0级完整备份] B --> C{是否存在增量备份?} C -->|是| D[按顺序恢复增量备份] C -->|否| E[验证文件完整性] D --> E E --> F[重启系统] F --> G[恢复完成] ``` **关键步骤**: 1. 进入目标文件系统的挂载点(如`/mnt/recovery`) 2. 按备份级别顺序恢复: ```bash restore -rf dump_level0 restore -rf dump_level1 restore -rf dump_level2 ``` 3. 使用`-C`选项验证恢复一致性: ```bash restore -Cf /backup/full_dump_level0 ``` --- #### ️ 3. **注意事项** 1. **分区一致性** - 恢复前确保目标分区大小 ≥ 原分区(推荐使用`fdisk -l`确认) - 文件系统类型需匹配(如ext4分区不能用xfs备份恢复) 2. **备份记录文件** 使用`dump -u`生成的`/etc/dumpdates`记录的时间戳可验证恢复顺序[^1]: ```bash cat /etc/dumpdates # 输出示例: /dev/sda1 0 Tue Jul 9 14:20:35 2024 ``` 3. **压缩备份处理** 若备份使用`-j`压缩,需先解压或通过管道恢复: ```bash bzip2 -dc /backup/compressed_dump.bz2 | restore -rf - ``` --- #### 🛠 4. **其他备份工具的恢复方法** | 备份工具 | 恢复命令 | 适用场景 | |----------|------------------------|-----------------------| | **tar** | `tar xvf backup.tar` | 文件/目录归档 | | **rsync**| `rsync -a source/ dest/` | 实时同步恢复 | | **dd** | `dd if=backup.img of=/dev/sdX` | 磁盘块级恢复 | --- #### 💡 系统恢复最佳实践 1. **恢复前验证**: ```bash restore -t -f backup_file > /dev/null && echo "备份完好" ``` 2. **使用Live CD**: 系统分区恢复建议从Live USB启动,避免锁定文件问题 3. **日志监控**: ```bash tail -f /var/log/messages # 监视恢复过程的内核日志 ``` > 📌 **引用说明**:`dump/restore`是Linux系统级备份恢复的核心工具,特别适合处理分区和文件系统的完整快照[^1]。系统恢复需考虑备份级别顺序和文件系统一致性[^2]。 --- 🔍 **相关问题** 1. 如何验证`dump`备份文件的完整性? 2. 使用`restore`命令时出现"End of tape"错误如何解决? 3. Linux中有哪些自动化备份恢复方案? 4. 如何从损坏的文件系统中恢复部分重要文件
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

澄澈i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值