admin 管理员组

文章数量: 887021

树莓派3系统U盘启动及系统转移至硬盘

#U盘安装
#在树莓派3从u盘启动之前,需要从设置了使能usb boot mode的sd启动。该设置树莓派芯片上的OTP(一次性可编程内存),这将使得树莓派能够从usb设备启动。一旦设置了该选项,sd卡就不需要了。注意,OTP一旦做出任何改动,都不能复原。你可以使用运行raspbian或者raspbian lite的sd卡来设置OTP,如果你还没有这样的sd卡,可按常规方式将系统烧入sd卡。

#镜像版本:2018-11-13-raspbian-stretch.img
#硬件信息:树莓派3B(官方2.5A电源),SD:8G(class4,常规版系统,前期操作),HDD:160G机械硬盘(Sata转USB易驱线连接),SD:4G(class4,Lite版系统,系统转移用),U盘:8G(U盘启动用)

#执行更新命令:
sudo apt-get update && sudo apt-get upgrade

#lite版本需要一个额外的步骤:
sudo apt-get install rpi-update

#更新/boot目录下默认的start.elf和bootcode.bin文件
sudo BRANCH=next rpi-update

#开启USB启动模式:
echo program_usb_boot_mode=1 | sudo tee -a /boot/cmdline.txt

#重启树莓派

#查看OTP:
vcgencmd otp_dump | grep 17:
#输出信息应该类似 17:3020000a,确保输出是’17:3020000a‘,如果输出不是这个,那就说明OTP没有设置成功。
#现在树莓派已经开启USB模式,你可以把/boot/cmdline.txt文件中的program_usb_boot_mode=1一行移除掉,这样把这张sd用在其他树莓派上就不会设置OTP,注意,cmdline.txt文件结尾不能有空行,你可以使用sudo nano /boot/config.txt命令使用nano 编辑器编辑config.txt文件。。

#关机,断电。

#从u盘启动树莓派3

#准备usb存储设备
#2017-4-10号以后发布的raspbian系统,sd/U盘(先格式化fat32,再用相关软件写入img)。其他系统按常规方式写入存储介质。
#移动硬盘测试中

#从usb存储设备启动树莓派
#在完成以上工作后,拔掉SD卡,把usb存储设备插入树莓派,给树莓派上电,经过5到10秒,树莓派就开始启动了。

#系统置于外置硬盘
#目前测试的结果是必须用sd卡的boot分区做引导,纯硬盘方式还未测试成功

#准备硬盘(最好小于2T,因为Fat32最大支持2T空间(待测),有条件请使用单独电源对硬盘供电,以防树莓派电源功率不达标造成启动失败)
#稳妥起见,先将硬盘格式化为fat32格式
#用写U盘的方式写入同样的img镜像
#此方法连同boot分区一起写入,为纯硬盘启动方案预留

#完成以后,先用fdisk工具将/dev/sda2分区删除,重新建立一个合适大小的分区
sudo fdisk -l #查看分区列表
sudo fdisk /dev/sda #编辑磁盘,m帮助,p列出分区,d删除分区,n新建分区(新建分区注意起始位置),w保存(改错了不要紧,不保存就行了)

#硬盘准备完成

#系统转移
#记录硬盘boot分区下cmdline.txt中“root=PARTUUID=******"信息,修改sd卡boot分区下的cmdline.txt文件同样位置为此******
#修改sd卡/etc/fstab

proc /proc proc defaults 0 0
PARTUUID=5e9791dc-01 /boot vfat defaults 0 2
PARTUUID=***** / ext4 defaults,noatime 0 1

#/boot分区的PARTUUID保持不变,将/的PARTUUID信息=后面修改为******

#准备一张新的sd卡并写入系统,Lite版本即可
#开机以后,将原sd卡用读卡器方式插入usb口,使sd卡作为sda
#硬盘用sata转usb线插入usb口,使硬盘作为sdb
#转移系统
sudo dd if=/dev/sda2 of=/dev/sdb2

#完成以后,关机,保持硬盘不动,将原sd卡插回sd口,启动(第一次启动会有一个根分区和boot分区不在一个盘的提示,回车就可以了)

#开机以后会发现sda2分区大小跟原来的sd卡根分区大小一致,使用命令扩展空间即可
sudo resize2fs /dev/sda2

本文标签: 系统 硬盘 树莓派