/
Блог KatranLife & iKotov

Orange PI - как перенести систему на внешний USB-накопитель (SSD, HDD, USB флешка)

Если вы обладатель Orange PI с MicroSD, то наверняка заметили, что система работает не так быстро, как хотелось бы. Покупать карту памяти по цене самой платы не каждый захочет, но у вас может лежать SSD или HDD, которые вполне могли бы использоваться для работы системы.


Напрямую поставить систему на внешний накопитель нельзя, но можно воспользоваться обходным путём.


В чем суть такого переноса

Полностью избавиться от MicroSD не получится, но можно оставить загрузчик на ней, а саму систему перенести на внешнее устройство. То есть, чтобы все работало, необходимо будет во время работы платы подключать внешний накопитель и микро сд оставить внутри устройства.


Плата загружается, включается загрузчик на MicroSD. По UUID загрузчик определяет, что система находится на внешнем накопителе и начинает загружаться с него. Итог: можно расширить память + ускорить работу.


Нюансы такого переноса

Вот что вы должны учитывать:

  • Вы должны дать себе отчет, что вы полностью отдаете ваш внешний накопитель вашей апельсинке, так как они будут связаны;
  • Огромный прирост скорости не ждите, так как скорость будет ограничена интерфейсом USB на вашей плате;
  • Нужно подготовить побольше места для размещения платы, так как один SATA SSD размером с 3-4 таких платы.
  • Накопитель должен быть по объему больше, либо такой же!

Приступаем к переносу.


Переносим систему

Перед переносом системы подготовьтесь: запишите нужную вам систему (Ubuntu или Debian) на MicroSD и форматируйте ваш внешний накопитель. Просто удалите из него все разделы, чтобы потом не мучиться в командой строке.

Включаем апельсинку, заходим в систему и вводим команду для отображения всех разделов:

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 и прописываем его повторно.

UPD: выяснил, что ошибка появляется 2-3 раза. Соответственно, нужно эту команду повторить 3-4 раза и все перенесется.

Я не знаю почему так, но после ручного ввода все работает:

Как мы видим - перенос завершился. Ну и остается последнее - перезагрузить систему командой:

reboot

Итог

После переноса вы получите увеличение скорости. В моем случае в процессе записи нагрузку на накопитель показывает до 75% в редких случаях. А когда пользовался MicroSD - показывало 100% почти всегда.


Дополнительно


Рейтинг материала
+6
Всего голосов: 6

Быстро поделиться

Скопируйте или поделитесь ID материала

<a onclick=igor5841" class="w-full h-full object-cover">
Профиль автора

igor5841

Группа: [ Админ ] Регистрация: 26 ноября 2020, 11:14

Комментарии (2)

Отзывы сообщества
  1. Андрей
    21 октября 2024 14:27 [ Гость ]
    0

    Спасибо за полезную инфу! Недавно начал играться с Апельсинкой Zero 2W, очень кстати.

    Если вдруг понадобится вернуть загрузку системы с карты, можно ли это сделать, вернув карте прежний UID и отключив диск с системой?

    1. igor5841

      Автор
      25 октября 2024 07:55 [ Админ ]
      0

      Спасибо) лично я не проверял, но думаю да, мы же в процессе копируем систему, а потом меняем uuid

Поделитесь мнением

Присоединиться к обсуждению

Поделитесь мнением и пообщайтесь с сообществом.