Raspberry 从硬盘boot引导

参考:https://melgrubb.wordpress.com/2014/08/01/raspberry-pi-home-server-part-6-adding-a-hard-drive/

 
 

家里有两块硬盘,第一个1T,第二个500G,打算都拿来做服务器的存储空间,然后想将其作为同步服务器,同步到各类云端,比如百度云,115或者微云,以及bittorrent sync。而第二块硬盘原先有个Windows系统分区和一个比较大的D盘,那将其分成3个分区,rootfs、home和swap,第一块硬盘不变。

 
 

  • 通过dmesg -t命令得到USB硬盘的信息,如下图找到两行:


    表明sdb为500G的,sda为1T的。

  • sudo fdisk /dev/sdb


    我这已经是分好区和格式化之后的了,如果没有,则先在Windows 8.1下将硬盘分成这几个分区即可。sdb1是windows系统盘不变,sdb2是windows的D盘50G,sdb3分成50G的NTFS,sdb4是扩展分区,将sdb5分成100G的NTFS,sdb6分成2G的fat16.

    然后在回到这里用一下命令格式化。

    sudo mke2fs -t ext4 -L rootfs /dev/sdb3

    sudo mke2fs -t ext4 -L storage /dev/sdb5

    sudo mkswap /dev/sdb6

    用free命令查看当前的swap,然后用sudo swapon /dev/sdb6激活swap,再free,可以发现swap变大了,正是我们的2G硬盘。

  • sudo mount -t ext4 /dev/sdb3 /mnt/rootfs

    挂在rootfs到mnt文件夹里面

    sudo rsync -axv / /mnt/rootfs

    将整个系统copy过去。

  • sudo mount -t ext4 /dev/sdb5 /mnt/storage

    将sdb5挂载进来

    然后将ubuntu主目录复制到storage,方便待会将sdb5挂载到home。

  • 修改/mnt/rootfs/etc/fstab文件:

    proc /proc proc defaults 0 0

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

     
     

    /dev/sdb3 / ext4 defaults,noatime 0 1

    /dev/sdb5 /home ext4 defaults,noatime 0 1

    /dev/sdb6 swap swap defaults 0 0

     
     

    /dev/mmcblk0p1 /boot/firmware vfat defaults 0 2

    将sdb3, sdb5, sdb6都挂载进来。

  • sudo init 0

    关闭服务器,将SD卡拔出来,修改cmdline.txt,改为

    dwc_otg.lpm_enable=0 console=tty1 root=/dev/sda1 rootwait rootdelay=5

    重启即可进入服务器,

    df -h


    可以发现sdb3和sdb5都正常挂载。

    free


    swap是2G,说明sdb6也正常挂载了。

  • 至此,raspberry Pi2已经正常从external USD HDD boot引导。接下来将/sda的全部ntfs分区也挂载进来。

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注