Сбросить NVMe-диск (без удаления данных)

Вопрос или проблема

Я хочу сбросить NVMe диск до состояния, когда он был новым, без необходимости удаления данных или безопасного стирания, диск будет повторно использоваться в той же системе.

Дополнительный контекст:

Это модуль Turing RK1 в кластерной плате Turing PI 2.5 с Samsung 990 Pro NVMe на 1 ТБ. Я хочу стереть/сбросить диск; стирание данных/безопасное удаление не требуется. Я могу взаимодействовать с NVMe-диском, загрузив свежепрошитую ОС с внутреннего накопителя RK1, так что могу взаимодействовать с ним без его монтирования.

Мне нужно стереть/сбросить, потому что есть скрипт установки RockChip для копирования данных на NVMe диск. И без ‘чистого/сброшенного’ диска, по умолчанию загрузка продолжается с него, потому что NVMe диск — первый в приоритете загрузки.

Я хочу сбросить диск, используя новую прошитую ОС, чтобы запустить скрипт ubuntu-rockchip-install, который отформатирует и скопирует прошитую ОС с внутреннего накопителя на NVMe диск.

Дистрибутив, который я прошил на внутренний накопитель: Ubuntu 24.04-LTS

Нашел этот ответ

Я нашел следующее возможное решение: https://serverfault.com/a/787210/1114347

Там говорится о стирании первых и последних секторов диска с помощью dd.

Мои вопросы:

  1. Кто-нибудь знает, будет ли ответ, который я нашел, работать для NVMe-диска?
  2. Кто-нибудь когда-либо использовал эти команды с NVMe-диском?
  3. Какое устройство я должен использовать?
    • /dev/nvme0 (я думаю, это контроллер)
    • /dev/nvme0n1 (предполагаю, что это тот самый)
    • /dev/nvme0n1p1 (раздел, который я хочу удалить)
    • /dev/nvme0n1p2 (раздел, который я хочу удалить)

Ответ или решение

Конечно, с учетом вашей ситуации и контекста, давайте обсудим, как можно "сбросить" NVMe-диск до состояния, приближенного к заводскому, без необходимости безопасного удаления данных. В данном случае ваше оборудование, а именно Turing RK1 Module в Turing PI 2.5 Cluster Board с NVMe-накопителем Samsung 990 Pro, требует некоторых действий для "очистки", чтобы обеспечить возможность переустановки операционной системы через скрипт ubuntu-rockchip-install.

Теория

NVMe-диски представляют собой современные твердотельные накопители, отличающиеся быстрым доступом к данным через интерфейс Non-Volatile Memory Express (NVMe). Одним из преимуществ NVMe является высокая скорость передачи данных и низкая задержка. Когда вы говорите о "сбросе" диска без стирания данных, это подразумевает удаление всех метаданных разделов и таблицы разделов, что поможет предотвратить загрузку системы с этого диска и позволит установить новую операционную систему.

Пример

Общей практикой является использование команды dd для стирания первых и последних секторов диска. Это эффективно удаляет таблицу разделов, делая диск "чистым" для новой установки. Например:

# Стирание первых 1 МБ (что полностью влияет на MBR и GPT)
sudo dd if=/dev/zero of=/dev/nvme0n1 bs=1M count=1

# Стираем последние 1 МБ для удаления возможного резервного раздела GPT
sudo dd if=/dev/zero of=/dev/nvme0n1 bs=1M count=1 seek=$(($(blockdev --getsz /dev/nvme0n1) - 2048))

В этом сценарии nvme0n1 – это сам диск. Команды dd направлены на удаление начала и конца диска, где хранится информация о разделах. Учитывая текущую структуру, используя nvme0n1, вы стираете основные параметры, относящиеся к структуре диска, оставляя место для новых разделов, которые установит ваш скрипт.

Применение

Теперь давайте рассмотрим, как это применимо к вашему конкретному случаю.

  1. Определение устройства: В вашем случае, наиболее уместным устройством для работы будет /dev/nvme0n1. Это указатель на сам диск NVMe, а не на управление устройством или конкретные существующие разделы.

  2. Операция стирания секторов: Использование команды dd, как описано выше, даст возможность стереть таблицу разделов, что предотвратит попытку загрузки со старых разделов.

  3. Безопасность и тестирование: Перед выполнением данных команд убедитесь, что все важные данные с диска были сохранены и протестируйте команды на ненужных данных, чтобы избежать потерь. Кроме того, выполнение этих действий предполагает, что диск будет отключен или не монтирован в системе, что вы как раз можете обеспечить при загрузке с внутреннего носителя.

  4. Скрипт установки: После выполнения этих команд NVMe-диск будет готов к использованию вашим установочным скриптом ubuntu-rockchip-install, который распространит необходимые данные и разделы на уже очищенный носитель.

  5. Универсальность метода: Этот подход применим ко многим сценариям с NVMe-дисками и другими типами дисков с аналогичной задачей, предоставляя универсальное решение для подобных случаев.

Подведение итогов: сброс NVMe-диска описанным способом предоставляет надежное и простое решение для подготовки диска к новой установке системы, что как раз отвечает вашим требованиям. Надеюсь, данное решение окажется полезным и эффективным в вашей ситуации.

Оцените материал
Добавить комментарий

Капча загружается...