美文网首页IT🐶操作系统维护
树莓派挂载系统在移动硬盘

树莓派挂载系统在移动硬盘

作者: 爱折腾的大懒猪 | 来源:发表于2019-03-23 01:20 被阅读4次

    测试是在树莓派3B+上

    今天发现, 用ftp上传, 当保存在sd卡时, 速度在3-4M, 而保存在移动硬盘时(USB2), 速度在7-10M. 看来一个很大的瓶颈在读写速度上.

    另外, 由ownCloud转NextCloud, 无线wifi转1000M网卡, 都可以提升树莓派的速度.

    所以干脆把树莓派系统挂载在移动硬盘吧. 这里懒得重新安装了, 就将现在的盘拷贝过去吧.

    先把移动硬盘重新分区和格式化.

    1. lsblk 查看设备名, 一般是/dev/sda
    2. 重新分区并格式化. 注意备份.
    sudo umount /dev/sda
    sudo parted /dev/sda
    (parted) # 进入到parted命令行,help查看帮助
    (parted)  mktable msdos   # 分区表
    # 如果有警告信息则输入yes 忽略
    (parted) mkpart primary fat32 0% 100M   # 分区
    (parted) mkpart primary ext4 100M 100%
    (parted) print
    # Ctrl + C 退出
    
    # 创建出boot目录和根目录
    sudo mkfs.vfat -n BOOT -F 32 /dev/sda1
    sudo mkfs.ext4 /dev/sda2
    
    1. 挂载分区, 并同步内容到移动硬盘
    sudo mkdir /mnt/target
    sudo mount /dev/sda2 /mnt/target/  # 挂载分区
    
    sudo mkdir /mnt/target/boot
    sudo mount /dev/sda1 /mnt/target/boot/  # 挂载分区
    
    sudo apt-get update
    sudo apt-get install rsync   # rsync命令用于同步数据
    sudo rsync -ax --progress / /boot /mnt/target   # 把系统拷贝到U盘
    
    1. 修改原/boot/cmdline.txt, 这里我继续用SD卡进行启动.
    # 查看PARTUUID, 针对新的boot的/dev/sda1
    sudo blkid | grep "/dev/sda2"
    # /dev/sda1: LABEL="BOOT" UUID="C73B-8B01" TYPE="vfat" PARTUUID="6042874f-02"
    # 修改 /boot/cmdline.txt, 也可以
    sudo sed -i "s,root=/dev/mmcblk0p7,root=PARTUUID=6042874f-02," /boot/cmdline.txt
    

    这里mmcblk0p7 是原来根目录加载的主盘, 在/boot/cmdline.txt内记载. 也可以通过sudo fdisk -l 查看.
    实际启动时插着SD卡, 先会寻SD卡, 然后用/boot/cmdline.txt 来加载/dev/root 这个设备, 然后再用这个设备内的/etc/fstab来加载盘.

    1. 修改新根目录的/mnt/target/etc/fstab. 将原来/dev/mmcblk0p开头的两行内容相应进行修改.
    /dev/sda1  /boot           vfat    defaults          0       2
    /dev/sda2  /               ext4    defaults,noatime  0       1
    
    1. 重启.
    sudo umount /mnt/target/boot
    sudo umount /mnt/target
    sudo poweroff # 或者 reboot 或者 shutdown now
    

    后记

    • 可以找一张很小的TF卡, 100M不到, 将/boot的内容拷入用来作启动盘.插着. 重新将树莓派系统写入到移动硬盘或者U盘. 期待用emmc或者USB3的树莓派啊
    • 有些装法(如参考1) 经测试不能从移动硬盘启动(更不需要像他那样刷新SSH密钥)...
    • 参考2 直接是将根目录换为U盘, 但没有重新新建/dev/sda1用于boot. 其实也对, 不过也不差那100M吧? 万一? 我说万一呢..
    • 参考3提到了修改/boot/config.txt添加一行program_usb_boot_mode=1, 不过好像是不可逆的? 或许这个方法可以完全脱离SD卡! 以后再折腾吧.

    Reference

    1. 抛弃SD卡,使用U盘启动树梅派3
    2. 树莓派 之 设置使用外置硬盘启动
    3. 树莓派3B—完全u盘启动系统

    相关文章

      网友评论

        本文标题:树莓派挂载系统在移动硬盘

        本文链接:https://www.haomeiwen.com/subject/hzlwmqtx.html