在raspberry pi开发中,经常修改系统配置。有时候也不知道该了什么东西,所以就制作了几个镜像来保存进度。

问题:

由于sd卡的实际大小是不固定的,所以16G的系统镜像有时候不能直接写入。

如果用更大的sd卡去烧写,那么会有空间浪费。

完整的磁盘镜像有很多冗余空间。

因此,需要完成以下内容

将磁盘镜像转换成系统镜像。

把系统镜像拷贝到新的sd卡。

重新引导。

读取磁盘镜像

首先查看分区fdisk -ul xxx.img,再按p。

Disk ros.ima: 14.9 GiB, 15924142080 bytes, 31101840 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x87ec3003

Device Boot Start End Sectors Size Id Type

ros.ima1 8192 93814 85623 41.8M c W95 FAT32 (LBA)

ros.ima2 94208 31116287 31022080 14.8G 83 Linux

Device: ros.ima2

Start: 94208

End: 31116287

Sectors: 31022080

Cylinders: 1932

Size: 14.8G

Id: 83

Type: Linux

Start-C/H/S: 5/24/220

End-C/H/S: 1023/63/254

可以看到ros.ima2的偏移量为94208*512,键入sudo mount -o loop,offset=48234496 ros.ima /mnt/ras/。

遗憾的是,出现如下错误:

EXT4-fs (loop0): bad geometry: block count 3877760 exceeds size of device (3875954 blocks)

由于磁盘镜像的容量与内容大小不匹配,所以导致了这个问题。镜像的实际容量应为:3877760*4096 + 94208*512

truncate -s 15931539456 ros.ima

sudo mount -o loop,offset=48234496 ros.ima /mnt/ras/

到此,成功加载磁盘镜像。

备份系统

使用tar备份可以减少系统的体积。tar -cvpzf ros.tgz -C /mnt/ras/ .

备份时没有剔除任何目录,因为另一个linux没有运行,里面没有临时文件。

解压的时候使用tar -xvpzf ros.tgz -C /mnt

bootloader

树莓派不是传统的磁盘引导,而是会自动去寻找启动分区。启动分区和root分区的制作

因此只需要在cmdline.txt中填入正确的值就行了。

首先使用fdisk创建分区。

格式化分区 sudo mkfs.ext4 /dev/sdb2

解压文件tar -xvpzf ros.tgz -C /media/ras

修改开机画面

linux 系统业务迁移,linux系统迁移相关推荐

  1. linux 系统业务迁移,记录一次linux系统迁移过程

    就在最近,终于为自己的电脑加装了固态.在装完固态之后,首先面临的问题就是如何将原先安装在机械硬盘上的linux系统迁移到固态上.还要考虑后续配置的问题. 本文主要讲述在迁移Linux系统到新的固态硬盘 ...

  2. converter 无法查询活动linux源计算机,【VMware】Converter迁移linux系统虚拟机

    今天接到一个需求,迁移一台linux的业务系统到vCenter云管理平台,其中遇到一些问题,于是进行了排错,这个过程与大家分享,下面把整个步骤进行截图说明. 1. 首先,登录到VMware Conve ...

  3. Linux服务器迁移文件系统,DD方式迁移Linux系统.pdf

    DD 方式迁移Linux 系统 一.DD 简介 dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个 文件,并在拷贝的同时进行指定的转换.我们可以使用dd 命令对 li ...

  4. Linux p2v迁移后系统起不来

    部分物理机迁移后一定会提示kernel panic not syncing报错: LINUX系统还需要使用系统光盘启动恢复linux rescue模式 按照如下步骤完成修复grub和新建启动内核ini ...

  5. 记一次业务系统拆分的数据迁移及系统切换事项

    一.迁移背景 老系统使用商业化软件,同时包含模块较多,架构无法支撑,维护成本高等考虑,需要根据业务模块拆分多个系统,新系统支持水平扩缩容 ,rcp框架等,新系统基本上包含常用的技术栈(wildfly. ...

  6. linux服务器怎么装windows系统,linux云服务器装windows系统

    linux云服务器装windows系统 内容精选 换一换 用户在购买弹性云服务器(Elastic Cloud Server ,简称ECS)时,选择KPS提供的SSH密钥对对登录弹性云服务器的用户进行身 ...

  7. 高性能Linux服务器运维实战(系统基础运维)

    第1章 Linux基础命令的使用 1.1 Linux命令行与shell 1.1.1命令是Linux的精髓 X-window运行在命令行下的一个应用程序 1.1.2用户和操作系统内核之间通信的桥梁she ...

  8. linux mysql设置数据库utf_Linux系统下MySQL数据库服务器字符集设置

    Linux认证考试:Linux系统下的MySQL数据库服务器字符集设置 启动MySQL后,以root登录mysql isher@isher-ubuntu:~$ mysql -u root >sh ...

  9. linux多线程编写哲学家,Linux系统编程(三) ------ 多线程编程

    一.线程的创建和调度 1.线程是程序执行的某一条指令流的映像. 为了进一步减少处理机制的空转时间,支持多处理器及减少上下文切换开销,进程在演化中出现了另一个概念--线程.它是进程内独立的一条运行路线, ...

  10. 【转】搞机:window10安装Linux子系统(WSL)及迁移到非系统盘

    转自:搞机:window10安装Linux子系统(WSL)及迁移到非系统盘_泛泛之素-CSDN博客_wsl移动到非系统盘 痛点: 在电脑上想要使用linux又想使用windows系统只能安装双系统,因 ...

最新文章

  1. 架构设计贵在务实(转载)
  2. 计算机网络实验(华为eNSP模拟器)——第四章 配置静态路由、动态路由
  3. vue中computed、metfods、watch的区别
  4. 如何在ABAP Netweaver和CloudFoundry里记录并查看日志 1
  5. Ubuntu 16.04+.Net Core+Docker+Nginx安装部署
  6. docker版本Mysql安装
  7. 幸福秘诀 男女必须要看哦
  8. apktool 在mac下的使用 -反编译安卓apk文件
  9. 记一次使用 vue-admin-template 的优化历程
  10. hdu 4355 Party All the Time
  11. 闲置eSATA接口影响Windows7启动速度案例分析
  12. 调查 问卷 设计 注意 - Web
  13. 如何u盘全新安装xp系统?
  14. 【U8】固定资产模块卡片管理栏目设置中没有“凭证号”栏目
  15. Python(18)——Django实战1之可重用注册登录系统(从面到点剖析)
  16. 如何恢复删除掉的压缩文件
  17. 骨传导耳机哪个牌子好?哪些款式最值得入手?
  18. java接口自动化测试-导入xslx模板进行批量检索
  19. 如何查看网易云笔记自己曾经使用过的设备
  20. 手写一个json格式化 api

热门文章

  1. MongoDB之副本集创建
  2. php打开word文档_PHP读取word文档的方法分享
  3. OpenCV-PyQT项目实战(2)QtDesigner 和 PyUIC 快速入门
  4. python爬虫工程师 成长之路八 Selenium WebDriver
  5. phpMoadmin CVE-2015-2208 远程代码执行漏洞分析
  6. Android 因moov播放网络mp4失败的解决办法
  7. linux vbox安装mac os,使用virtualbox虚拟机安装macos和linux系统
  8. python之Tkinter详解
  9. 仿电影天堂苹果CMS模板苹果cms电影天堂模板
  10. c语言计算利息答案是0.0,C语言 | 计算存款利息