Вопрос или проблема
Я хочу сбросить 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
.
Мои вопросы:
- Кто-нибудь знает, будет ли ответ, который я нашел, работать для NVMe-диска?
- Кто-нибудь когда-либо использовал эти команды с NVMe-диском?
- Какое устройство я должен использовать?
- /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
, вы стираете основные параметры, относящиеся к структуре диска, оставляя место для новых разделов, которые установит ваш скрипт.
Применение
Теперь давайте рассмотрим, как это применимо к вашему конкретному случаю.
-
Определение устройства: В вашем случае, наиболее уместным устройством для работы будет
/dev/nvme0n1
. Это указатель на сам диск NVMe, а не на управление устройством или конкретные существующие разделы. -
Операция стирания секторов: Использование команды
dd
, как описано выше, даст возможность стереть таблицу разделов, что предотвратит попытку загрузки со старых разделов. -
Безопасность и тестирование: Перед выполнением данных команд убедитесь, что все важные данные с диска были сохранены и протестируйте команды на ненужных данных, чтобы избежать потерь. Кроме того, выполнение этих действий предполагает, что диск будет отключен или не монтирован в системе, что вы как раз можете обеспечить при загрузке с внутреннего носителя.
-
Скрипт установки: После выполнения этих команд NVMe-диск будет готов к использованию вашим установочным скриптом
ubuntu-rockchip-install
, который распространит необходимые данные и разделы на уже очищенный носитель. -
Универсальность метода: Этот подход применим ко многим сценариям с NVMe-дисками и другими типами дисков с аналогичной задачей, предоставляя универсальное решение для подобных случаев.
Подведение итогов: сброс NVMe-диска описанным способом предоставляет надежное и простое решение для подготовки диска к новой установке системы, что как раз отвечает вашим требованиям. Надеюсь, данное решение окажется полезным и эффективным в вашей ситуации.