Использует ли SSD диск для выравнивания износа не размеченую область? (Решено)

Автор zzplex, 30 декабря 2022, 17:30:50

« назад - далее »

0 Пользователи и 3 гостей просматривают эту тему.

zzplex

Здравствуйте товарищи, с наступающим всех Новым Годом!!! :)
Вопрос собственно в теме. Пришла мне в голову мысль создать не размеченую область диска точно равную размеру системного раздела и с помощью команды dd сохранить туда резервную копию системы. Получится что если надо загрузить резервную копию просто байтики в нулевом секторе поменял и махнул местами системный раздел с не размеченной областью. Но у меня возникло сомнение не попортит ли мне контроллер SSD диска не размеченую область, т.е. мой бэкап.    Подскажите если кто знает.

dzhoser

Ну во первых после клонирования раздела через dd он перестанет быть не размеченным. Во вторых нужно будет поменять его uuid.
Нет контроллери не попортит.
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

zzplex

dzhoser,Он не может перестать быть неразмеченым т.к. я не собираюсть трогать нулевой сектор с таблицей разделов, а тупо собираюсь взять кусок из середины диска и скопировать в другое место диска. А UUid пусть у него будет такой же. Он же не будет разделом пока я в нулевой сектор не пропишу нужные 16 байтов вместо байтов системного раздела. А раздел я уже создал и байтики пробовал менять чтобы этот раздел стал видным вместо другого который соответственно пропадал. Все работает, только я сомневаюсь будет ли мой бэкап рабочим в нужное время.

dzhoser

Чисто теоретически трим может потереть данные в не размеченной области. Но это не точно.
А к чему такие извращения, чем Clonezilla не устраивает?
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

zzplex

Цитата: dzhoser от 30 декабря 2022, 18:31:07А к чему такие извращения, чем Clonezilla не устраивает?
Если бэкап делать в файл то это лишнее время на то чтобы этот бэкап развернуть, если же бэкап делать сразу в заготовленный раздел, то нет у меня этого раздела, уже четыре. А тут пришла в мысль но засомневался. Поидее с помощью той же dd заранее заготовленный нулевой сектор залил и все, делов 5 секунд и система востановлена. У клонезилы только один плюс, думать не надо. С помошью той же команды dd можно сделать бэкап системы также в файл и тоже со сжатием можно.

30 декабря 2022, 18:54:53
А насчет TRIM'a тоже почитал. Это система сообщает контроллеру о освободившихся секторах. Но вот вопрос, сообщает ли система контроллеру о неразмеченной области как о освободной или он должен об этом сам узнать из табллицы разделов. Последнее думаю не должно иметь место быть, т.к. если вдруг диск старый, а придумают еще чтото новее GPT или диск будет использоваться в какойто узкоспециализированной области контроллер это не поймет и вообще хана данным.

dzhoser

Как правило SSD в отличии от HDD  выходят из строя полностью. Поэтому в случае сбоя восстанавливать будет нечего.
С точки зрения экспериментов лучше использовать виртуальную машину.
Ваши идеи были реализованы в acronis но они использовали свою таблицу секторов и он не был не размеченным, но ос его не монтировали.
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

Anna

Ребята,ну "неразмеченная" а не "не размеченная". И толку в этом нет,я где-то читала что в любом современном ssd неразмеченная область присутствует аппаратно,и не показывается в диспетчерах разделов.Да и какая "неразмеченная область" может быть у топикстартера,если он нулями всё затёр и создал таблицу разделов? И да,SSD выходят из строя полностью,создавать там резерв,меняя при этом загрузчик бессмысленно. С наступающим! :)

zzplex

Цитата: dzhoser от 31 декабря 2022, 08:26:27к правило SSD в отличии от HDD  выходят из строя полностью. Поэтому в случае сбоя восстанавливать будет нечего.
А я бэкап хочу сделать не на случай выхода из строя диска, а на случай не удачного обновления. Предпочитаю как можно реже обновлять систему, и каждый раз как ее обновляю думаю, хоть бы ничего не испортили.

Anna

О, наш человек!. Тут,триста лет назад,Ferum написал-"работает-не трогай".
А по Вашему вопросу,Вам уже ответили. Создайте gparted в неразмеченной области раздел,размером чуть больше Вашего системного и просто dd. Удачи!  :)

zzplex

Anna,Нет, по моему вопросу я еще ответа не получил, поэтому надо просто поробовать, а через некоторое время проверить целостность информации. И вам всего хорошего))

zzplex

Все сделал и все вроде получилось. Если кому интересно опишу процесс и результат. Но если кто будет пробовать повторить, учтите можно потерять и данные на диске если чтото не правильно сделаете.
Вот вывод команды fdisk до всех манипуляций:
Открыть содержимое (спойлер)
$ sudo fdisk -l
[sudo] пароль для zzplex:
Disk /dev/sda: 447,13 GiB, 480103981056 bytes, 937703088 sectors
Disk model: KINGSTON SEDC500
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc3a1e6cd

Device Boot  Start  End  Sectors  Size  IdType
/dev/sda1  637702144  937701375  299999232  143,1G  7  HPFS/NTFS/exFAT
/dev/sda2*  2048  206847  204800  100M  83  Linux
/dev/sda3   206848  37087231  36880384  17,6G  83  Linux
/dev/sda4  37087232  600821759  563734528  268,8G  83  Linux

Partition table entries are not in disk order.
[свернуть]
При этом пробел между разделами начинается с сектора 600821760 и заканчивается сектором 637702143. Всего сектров 36880384, ровно столько же как в системном разделе sda3.
Перед всеми манипуляциями сделал копию MBR командой:
sudo dd if=/dev/sda of=mbr.backup bs=512 count=1
далее грузимся с Live CD линукс чтобы был терминал, или я переставил SSD диск в стационарный системник с ОС Linux, чтобы не делать бэкап системы испод этой же системы.
проверяем как обзывается наш диск командой:
sudo fdisk -l
В моем случае получилось /dev/sdc
Забегу маленько вперед и вот вывод команды fdisk сейчас:
Открыть содержимое (спойлер)
$ sudo fdisk -l
[sudo] пароль для zzplex:
Disk /dev/sda: 447,13 GiB, 480103981056 bytes, 937703088 sectors
Disk model: KINGSTON SEDC500
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc3a1e6cd

Device Boot  Start  End  Sectors  Size  IdType
/dev/sda1  637702144  937701375  299999232  143,1G  7  HPFS/NTFS/exFAT
/dev/sda2*  2048  206847  204800  100M  83  Linux
/dev/sda3   600821760  637702143  36880384  17,6G  83  Linux
/dev/sda4  37087232  600821759  563734528  268,8G  83  Linux

Partition table entries are not in disk order.
[свернуть]

Так вот, чтобы /dev/sda3 стал c 600821760 сектора по 637702143 сектор достаточно в нулевом секторе диска на месте Partition table 3 прописать 16 байт соответствующие этой не размеченой области диска. Тут можно конечто вооружиться калькулятором в котором есть системы счисления, ознакомиться со структурой таблицы разделов вот сдесь: Структура MBR
Но тут не очень все просто и велика вероятность ошибки, поэтому я поступил проще. Я с помощью fdisk удалил четвертый раздел 268Гб (хорошо он у меня был пустой) и создал вместо него раздел первым сектором 600821760 и последним 637702143, как раз на том месте который я оставил под бэкап. Копирую нулевой сектор в файл:
sudo dd if=/dev/sdc of=mbr1.backup bs=512 count=1
где на месте четвертого раздела нужные мне 16 байт, которые я в текстовом редакторе HEXEDIT вставляю на место третьего раздела в в файле mbr.backup посмотрев на эту картинку:Структура MBR

Далее копирую данные из системного раздела в не размеченую область:
sudo dd if=/dev/sdc skip=206848  of=/dev/sdc seek=600821760  bs=512 count=36880384 status=progress
ну и собственно т.к. тему я создал из за опасения что мой бэкап попортит контроллер сделал еще бэкап в файл:
sudo dd if=/dev/sdc skip=206848  of=/run/media/alex/6fb25620-510d-4342-a419-c7b692e10e07/sdc3.backup  bs=512 count=36880384 status=progress
Ну и чтобы проверить сразу работоспособность своего бэкапа записываю правленый файл mbr.backup:
sudo dd if=mbr.backup of=/dev/sdc bs=512 count=1
Ставлю диск в ноутбук загружаюсь и вуаля, у меня системный раздел уже в другом месте, а та область диска что была системным разделом теперь бэкап.

Через некоторое время проверил контрольную сумму бэкапа и файла:
Открыть содержимое (спойлер)
$ md5sum /media/Data/sdc3.backup
2112ddd8be5520fb9a76625e79f7600b  /media/Data/sdc3.backup
$ sudo dd if=/dev/sda skip=206848 bs=512 count=36880384 status=progress | md5sum
18826252800 байт (19 GB, 18 GiB) скопирован, 66 s, 285 MB/s
36880384+0 записей получено
36880384+0 записей отправлено
18882756608 байт (19 GB, 18 GiB) скопирован, 66,1915 s, 285 MB/s
2112ddd8be5520fb9a76625e79f7600b  -
[свернуть]

Все совпадает. Но после этого на другом форуме меня просветили, что ничего с данными в не размеченной области диска не будет ибо для контроллера они заняты, а для того чтобы он мог их считать свободными для них надо сделать discard командой blkdiscard и только после этого он сможет их использовать по своему усмотрению. Так что файл с бэкапом можно удалить или перекинуть на другой компьютер.
Ктото может сказать зачем это все? Есть же другие способы. Личто для меня это был эксперемент, с целью сделать бэкап и узнать кое что новое. Кроме того чтобы загрузиться с бэкапа нужно всего лишь залить нужный mbr.backup в нулевой сектор командой dd, а это несколько секунд. Ну а из недостатков это не затупить при создании бэкапа, хотя все цифры выдает fdisk, и даже считать ничего не надо.


Anna

Интересный опыт.А где Вы прочитали про-"чтобы он мог их считать свободными для них надо сделать discard"?
То есть без discard, любой ssd должен заканчиваться очень быстро,но так не происходит.Почему?
С новым годом!
Возможно ли то,что ssd сами используют команды fstrim,discard ? У меня есть ssd,который я раз пять прошла dd /dev/zero,и он ещё жив,работает с виндой,которая даже будучи кастрированной,пишет логи и пр. как японский шпион.

Aalexeey

https://debianforum.ru/index.php?topic=6879 100% защиты от "Ааааа у меня всё поломалось"

Anna

Aalexeey ну не знаю,у меня моя красивенькая,тёпленькая,
ssd вообще не загорает,и впредь,прошу придерживаться тематики форума.

Aalexeey

https://debianforum.ru/index.php?topic=6879 100% защиты от "Ааааа у меня всё поломалось"