Raspberry Pi предназначен для работы с SD / MicroSD-картой. Для операционных систем, таких как PIXEL, это означает, что все ваши "корневой" и "домашний" разделы лежат на SD-карте, что может немного ограничивать, учитывая ее крохотный размер хранилища. Если вы собираетесь запустить домашний сервер хранения на своем Raspberry Pi, лучше всего переместить ОС на внешний жесткий диск, чтобы у вас было много места для хранения.
В этом руководстве мы покажем вам, как заставить Raspberry Pi 3 загружаться и запускаться с внешнего жесткого диска.
Примечание. Причина, по которой здесь используется Raspberry Pi 3, заключается в том, что ему не требуется дополнительный источник питания для питания внешнего жесткого диска. Блок питания Raspberry Pi 3 достаточен для питания внешнего жесткого диска через порт USB. Убедитесь, что вы используете официальный адаптер питания Pi или что ваша вилка питания способна выдавать ток 2,5 А (минимум).
Прежде чем мы начнем, вот требования к этому руководству:
- Raspberry Pi 3
- Карта microSD (минимум 4 ГБ) с установленным PIXEL. (В этом руководстве предполагается, что у вас уже есть работающая установка PIXEL на карте microSD. Для получения дополнительных сведений см. Руководства здесь для настройки изображений для Raspberry Pi.)
- Внешний жесткий диск, отформатированный в Ext4. (Вы можете использовать GParted или команда fdisk для форматирования внешнего жесткого диска до Ext 4.)
Настройка внешнего жесткого диска
1. Вставьте карту microSD в Raspberry Pi 3. Подключите внешний жесткий диск к USB-порту Raspberry Pi 3. Включите Pi.
2. Как только вы дойдете до рабочего стола, откройте терминал. Войдите в учетную запись root и подключите внешний жесткий диск.
sudosumount/dev/sda /mnt
3. Далее нам нужно установить Rsync (если он еще не установлен):
apt-get install rsync
4. Скопируйте все файлы с карты microSD на внешний жесткий диск. Мы используем rsync
, поэтому все права доступа к файлам и права собственности остаются неизменными.
sudo rsync -axv//mnt
5. Со всеми файлами загрузки на внешнем жестком диске нам необходимо изменить файл запуска так, чтобы он указывал на внешний жесткий диск для инструкций по загрузке.
cp/boot/cmdline.txt /boot/cmdline.txt.baknano/boot/cmdline.txt
Нам нужно отредактировать две части этой строки. Измените root=
на / dev / sda
и в конце добавьте rootdelay=5
.
Результат должен выглядеть так:
dwc_otg.lpm_enable=0console=serial0,115200console=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 01
Добавьте знак "#" в начале последней строки, чтобы отключить загрузку с карты microSD:
#/dev/mmcblk0p7 / ext4 defaults,noatime 01
Примечание. / devmncblk0p7
относится к слоту для карты microSD, и значение может отличаться в вашем случае.
После изменений это должно выглядеть так:
proc /proc proc defaults 00/dev/sda1 / ext4 defaults,noatime 01/dev/mmcblk0p6 /boot vfat defaults 02#/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 setupsudo/etc/init.d/dphys-swapfile stopsudo/etc/init.d/dphys-swapfile start
Заключение
Raspberry Pi 3 поставляется с несколькими полезными улучшениями, такими как увеличенный объем оперативной памяти, модуль Wi-Fi и блок питания, достаточно большой для поддержки внешнего жесткого диска. Это делает его полезным для запуска более крупных и интенсивных проектов. Таким образом, карта microSD с небольшим размером хранилища может быть ограничивающим фактором, не говоря уже о ее низкой скорости чтения / записи и подверженности повреждению данных. С помощью приведенных выше инструкций теперь вы можете включить Raspberry Pi с внешнего жесткого диска и улучшить его производительность.
7 комментариев
Комментарии закрыты.
Поправьте меня, если я ошибаюсь, но вы здесь описываете способ переноса rootfs на USB-накопитель. Это вводит в заблуждение, поскольку Raspberry pi 3 - единственный Raspberry pi, который действительно может быть загружен (по-настоящему, а не просто перемещением rootfs) с USB. Вы должны были назвать свою статью "Как переместить rootfs на USB, что-то, что можно было бы сделать уже в 2012 году, хотя теперь вы действительно можете загружать его полностью с USB".
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md
Я нашел это очень полезным. Я знаю, что другой способ сделать это - установить бит однократного программирования, который нельзя отменить в соответствии со страницей справки Raspberry Pi. Этот способ лучше, потому что он не вносит никаких постоянных изменений в оборудование Pi. Спасибо за ваше сообщение.
@ Стив,
Программирование бита OTP для загрузки с USB не оказывает вредного воздействия на Pi3. При желании вы все равно можете загрузиться с SD-карты. Pi3 всегда сначала проверяет SD-карту, бит просто указывает ему проверить наличие загрузочного USB-устройства, если SD-карта отсутствует.
Это не загрузка Pi3 с жесткого диска - это просто перемещение файловой системы - вы можете сделать это практически с любым micro. Ну что ж, поехали, чтобы узнать, что я изначально приехал сюда в поисках ...
Проблемы с rsync… .. sudo rsync -axv / / mnt
Что не так с этой командой? правильные ли пробелы до и после /?
пробел перед первым / обязательным?
@dave, да, между обратными косыми чертами есть пробелы (/ /). Также есть пробел между параметрами (-axv) и первой обратной косой чертой (/).
sudo rsync -axv / / mnt
Итак, это означает, что вы копируете через rsync всю домашнюю папку (это /) на смонтированный диск (/ mnt). Я использую rsync очень часто, особенно через ssh-соединение.
Я нашел это полезным с моим Pi 3. Я загружаюсь с жесткого диска USB с питанием от Pi, и Pi не ждет достаточно долго, пока диск раскрутится, прежде чем он начнет загрузку. Так что загрузка напрямую с диска не работает. Это хороший компромисс, и мне нужно только оставить небольшую карту MicroSD установленной для раздела / boot. Альтернативой было использование внешнего источника питания для диска, и это просто глупо.