Orange PI - как перенести систему на внешний USB-накопитель (SSD, HDD, USB флешка)
Если вы обладатель Orange PI с MicroSD, то наверняка заметили, что система работает не так быстро, как хотелось бы. Покупать карту памяти по цене самой платы не каждый захочет, но у вас может лежать SSD или HDD, которые вполне могли бы использоваться для работы системы.
Напрямую поставить систему на внешний накопитель нельзя, но можно воспользоваться обходным путём.
В чем суть такого переноса
Полностью избавиться от MicroSD не получится, но можно оставить загрузчик на ней, а саму систему перенести на внешнее устройство. То есть, чтобы все работало, необходимо будет во время работы платы подключать внешний накопитель и микро сд оставить внутри устройства.
Плата загружается, включается загрузчик на MicroSD. По UUID загрузчик определяет, что система находится на внешнем накопителе и начинает загружаться с него. Итог: можно расширить память + ускорить работу.
Нюансы такого переноса
Вот что вы должны учитывать:
- Вы должны дать себе отчет, что вы полностью отдаете ваш внешний накопитель вашей апельсинке, так как они будут связаны;
- Огромный прирост скорости не ждите, так как скорость будет ограничена интерфейсом USB на вашей плате;
- Нужно подготовить побольше места для размещения платы, так как один SATA SSD размером с 3-4 таких платы.
- Накопитель должен быть по объему больше, либо такой же!
Приступаем к переносу.
Переносим систему
Включаем апельсинку, заходим в систему и вводим команду для отображения всех разделов:
lsblk
Нам нужно найти раздел с нашей системой:
В моем случае это раздел mmcblk1. Запоминаем его.
Подключаем наш внешний накопитель и снова смотрим разделы командой:
lsblk
Видим, что появился раздел sda. Запоминаем его тоже:
- Раздел mmcblk1 - это система.
- Раздел sda - это внешний накопитель.
Переносим систему на внешний накопитель командой:
cat /dev/mmcblk1 > /dev/sda
После ввода этой команды система "Зависнет". Нам нужно дождаться, когда она снова позволит вводить команды:
Запаситесь терпением! Перенос может занять много времени. В моем случае - около 40 минут. Не отключайтесь от системы и ничего не закрывайте, не вводите. Просто ждите!
Когда перенос завершится, вот так будет выглядеть окно:
Теперь снова проверяем разделы командой:
lsblk
Видим, что у нас появился раздел sda1, который идентичен разделу mmcblk1. Это значит, что все перенеслось. Именно с раздела sda1 будет загружаться система:
Теперь нужно проверить UUID. Вводим команду:
blkid
Как мы видим, у раздела mmcblk1p1 и sda1 идентичный UUID:
В загрузчике прописан этот UUID. И так как у нас два раздела с таким адресом, то система не будет понимать, откуда ей грузиться и сможет загружаться как с MicroSD, так и с внешнего накопителя. Сейчас этот момент поправим.
Через команду указываем рандомный UUID для раздела mmcblk1p1:
tune2fs -U random /dev/mmcblk1p1
Проверяем результат. Как видим, UUID поменялся:
Значит всё получилось. Теперь нам нужно включить автоматическую загрузку с раздела /dev/sda1 командой:
e2fsck -yf /dev/sda1
И сейчас внимательно:
Если у вас появится ошибка WARNING:
То не паникуем! Вводим команду еще раз. Если снова вылезет ошибка, то в команде удаляем /dev/sda1 и прописываем его повторно.
Я не знаю почему так, но после ручного ввода все работает:
Как мы видим - перенос завершился. Ну и остается последнее - перезагрузить систему командой:
reboot
Итог
После переноса вы получите увеличение скорости. В моем случае в процессе записи нагрузку на накопитель показывает до 75% в редких случаях. А когда пользовался MicroSD - показывало 100% почти всегда.
Дополнительно

igor5841" class="w-full h-full object-cover">