如何从外部硬盘启动 Raspberry Pi 3

Raspberry Pi 设计为通过 SD/MicroSD 卡运行。对于像 PIXEL 这样​​的操作系统,这意味着您的“root”和“Home”分区都位于 SD 卡中,考虑到其微小的存储大小,这可能会有点限制。如果您打算在 Raspberry Pi 上运行家庭存储服务器,最好将操作系统移至外部硬盘驱动器,这样您就有大量存储空间可供使用。

在本教程中,我们将向您展示如何让 Raspberry Pi 3 从外部硬盘启动并运行。

笔记:这里使用Raspberry Pi 3的原因是因为它不需要额外的电源来为外部硬盘供电。 Raspberry Pi 3 的电源足以通过 USB 端口为外部硬盘供电。请确保您使用的是官方 Pi 电源适配器或者您的电源插头能够输出 2.5A(最小)电流。

在开始之前,我们先了解一下本教程的要求:

  1. 树莓派 3
  2. 安装了 PIXEL 的 microSD 卡(至少 4 GB)。 (本教程假设您的 microSD 卡上已经安装了可用的 PIXEL。有关更多详细信息,您可以查看教程在这里设置图像为了树莓派。)
  3. 格式化为 Ext4 的外部硬盘。 (您可以使用格帕特fdisk命令将您的外部硬盘格式化为 Ext 4。)

设置外部硬盘

1. 将 microSD 卡插入 Raspberry Pi 3. 将外部硬盘插入 Raspberry Pi 的 USB 端口 3. 给 Pi 通电。

2. 到达桌面后,打开终端。登录 root 帐户并安装外部硬盘驱动器。

sudo su
mount /dev/sda /mnt

3. 接下来,我们需要安装 Rsync(如果尚未安装):

apt-get install rsync

4. 将 microSD 卡中的所有文件复制到外部硬盘驱动器。我们正在使用rsync,因此所有文件权限和所有权都完好无损。

sudo rsync -axv / /mnt

5. 外接硬盘中的所有启动文件都已存在,我们需要修改启动文件,使其指向外接硬盘的启动指令。

cp /boot/cmdline.txt /boot/cmdline.txt.bak
nano /boot/cmdline.txt

我们需要编辑该行的两部分。改变root=/dev/sda,并在最后添加rootdelay=5.

结果应该是这样的:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait rootdelay=5

6. 最后,我们将硬盘驱动器条目添加到“/mnt/etc/fstab”,以便在启动过程中自动安装外部硬盘驱动器中的根文件夹。

nano /mnt/etc/fstab

将此行添加到文件的第二行:

/dev/sda1       /               ext4    defaults,noatime  0       1

在最后一行的开头添加“#”以禁用从 microSD 卡启动:

#/dev/mmcblk0p7  /               ext4    defaults,noatime  0       1

笔记:/devmncblk0p7指的是您的 microSD 卡插槽,该值可能因您的情况而异。

更改后,它应该如下所示:

proc            /proc           proc    defaults          0       0
    /dev/sda1       /               ext4    defaults,noatime  0       1
    /dev/mmcblk0p6  /boot           vfat    defaults          0       2
    #/dev/mmcblk0p7  /               ext4    defaults,noatime  0       1

就是这样。重新启动您的 Pi,它应该从外部硬盘驱动器启动并运行。需要注意的一件事是,microSD 卡需要位于其插槽中,因为 Pi 在从外部硬盘驱动器启动之前需要从中读取启动文件。

可选:增加交换文件大小

假设您的外部硬盘驱动器有大量空间,您可能需要增加交换文件大小,以便您的 Pi 可以运行得稍快一些。

1. 打开终端并登录 root 帐户。

sudo su

2. 编辑交换文件。

nano /etc/dphys-swapfile

改变值CONF_SWAPSIZE从 100 到 512。保存并退出文件。

3. 重新启动服务以更新更改。

sudo dphys-swapfile setup
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start

结论

Raspberry Pi 3 配备了多项有用的改进,例如更高的 RAM、WiFi 模块和足以支持外部硬盘驱动器的电源。这使得运行更大、更密集的项目变得很有用。因此,存储容量较小的 microSD 卡可能是一个限制因素,更不用说其读/写速度慢且容易损坏数据。按照上述说明,您现在可以从外部硬盘驱动器为 Raspberry Pi 供电并提高其性能。