LINUX.ORG.RU

MBR конечно топ, но и UEFI может быть полезен

 , , , ,


1

2

Сначала хотел написать длинно, и подробно, но напишу кратко. Суть, помер в ноутбуке k53u диск ST9320325AS, ноут его начал видеть через раз, а потом и вовсе перестал, где-то прочёл что если в диске и P и G листы забиты полностью, то диск начинает прятаться, так как уже невозможна самокоррекция, это сделано специально чтобы диск можно было сбросить в сервисе и начать работу по восстановлению данных. Это Segate в который можно залезть по UART, прицепил к нему самодельный uart-usb на atmega8, очистил G-list, и ещё немного покуралесил чуть не добив его окончательно. Переподключил, вуаля диск стал видимым, сначала решил проверить самое важное, первые сектора диска, для этого попытался установить grub, как оказалось что там всё, попытка обращения к ним приводила к лютому спаму в dmesg типа

Buffer I/O error on dev sde, logical block 1, async page read
...
и так далее

При этом перераспределённые сектора в smart увеличивались, всё как надо, ожидаемо, ну хорошо, думаю нужно узнать беда по всему диску или нет, началась рутина, на диске последовательно формировался раздел от балды на 20 гигабайт, проверялась его корректность, чтение, запись, бедблоки, если провал или отвал диска, ребут, очистка G листа, снова раздел но уже со смещением и так до победного. Типа вот так, итерационно

<------------- объём диска --------------->
[[part]                                   ] TEST - отвал физический
[     [part]                              ] TEST - I/O error on dev sde, logical block затем отвал физический
[          [part]                         ] TEST - I/O error on dev sde, logical block спам
[               [part]                    ] TEST - I/O error on dev sde, logical block спам
[                    [part]               ] TEST - ОK
[                         [part]          ] TEST - OK
[                              [part]     ] TEST - OK
[                                   [part]] TEST - OK

Итого выяснилось что в первых ~157 гигабайтах диска, если так можно выразится, находится 2047 плохих секторов разбросанных по началу диска, включая нулевой, обращение на запись в который просто выносило диск, он отвалился на уровне sata, вернее его прошивка диска отваливала. А вот последующие, 163 гигабайта диска замечательно читались, прошли ночные стресс тесты, с многократной записью и чтением всего объёма.

И решено было попробовать сделать так, в начале диска выделить FAT раздел, размером 157 гигабайт, и в конце диска EXT4 размером 163 гигабайта, диск был подключён через USB адаптер, на основном компе запущен QEMU, так как предполагалось что с первого раза не повезёт, и таки да, для пробы на EXT4 раздел был установлен Mint (просто что было под рукой), а затем тот уже на первый FAT раздел закинул свои UEFI файлики иииии, один из них видимо захотел записаться на битый сектор, последствия плачевны конечно, но мы люди упороты…кхм упорные, формат FAT раздела, и уже попытка докинуть UEFI файлы, с третьего раза удалось. Всё, более этот FAT раздел трогаться не будет. Следовательно диск не будет обращаться к битым секторам и продолжит штатно работать.

Повторно очищенный G лист заполнился снова на те же 2047 секторов, плюс неисправимый 1 сектор, тот самый нулевой для MBR, из за которого более диск невозможно загрузить через классический GRUB. И вот тут-то смысл заголовка про UEFI думаю уже понятен. Возможность по сути произвольного размещения загрузчика сделала возможной продолжение использования диска.

Сейчас так

sda      8:0    0 298,1G  0 disk 
├─sda1   8:1    0 151,8G  0 part /
└─sda2   8:2    0 146,3G  0 part /boot/efi
# badblocks -nsv /dev/sda1
Checking blocks 0 to 159135743
Checking for bad blocks (read-only test):   0.00% готово, 0:00 прошло. (0/0/0 готово                                                 
Проход завершён, найдено 0 повреждённых блоков. (0/0/0 ошибок)

Девственно чистый dmesg, радующий только информационными сообщениями.
Всё работает хорошо и я уверен проработает ещё долго, оставлю Mint раз уж поставил, хотя хотел Debian изначально.
На ноуте никогда не было и не будет важных данных. Да, диск уполовинился. Ну и что, диски с завода идут с целой россыпью битых и перераспределённых секторов которые прописаны внутри диска в P-listе. Сделали диск на 320GB ой, половина объёма битое, не беда, пометим на заводе и продадим как 120GB диск.
Вот такая вот история, моя почка может остаться при мне.


Для справки.
G-List это таблица трансляции для перераспределённых секторов возникших при эксплуатации.
P-List это таблица трансляции для перераспределённых секторов которые уже с завода были битые.
Там ещё всякого много внутри диска по UART можно поковырять. И моторчик можно включать/выключать, но одно неосторожное движение-эксперимент и диск окирпичивается =)


P.S. А ещё снимал плату с диска, и там контактная площадка к внутренностям диска вусмерть была окислена, segate на позолоту там не раскошелился, окисление + нагрев могли приводить к шумам или даже обрыву коммуникации внутрянки с управляющей платой и эти джиги-дрыги привести к повреждению поверхности, в теории

Сам не фоткал, но нашёл наглядную картинку, у меня было также если не хуже

Почистил разумеется.

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

Всем бобра, досвиданья.

★★★★★

Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

Ноут с механическим диском? Я даже с исправным бы опасался что он повредится от тряски, а тут уже повреждённый, и неизвестно куда поползут битые секторы. Но UART-подключение интересно.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Первые 2 пина (4х пинового коннектора для джамперов) это RX/TX Можно подключаться к диску на живую (я так и делал). Затем например в cutecom /dev/ttyACM0 Вначале нужно ввести ctrl+z это в режиме hex 0x1a в ответ придёт T всё ты в текстовом режиме, переключаешься на cr/lf или none без разницы, теперь оно принимает обычные ASCII команды, по сути просто терминал, но с режимами, определённые комманды вводятся только в определённых режимах, режимы это тупо /1, /2 и так далее.

Некоторые операции, например заполнение слипов, может длится сутки целые. Прерывать нельзя, получишь кирпич. В целом вообще чуть что не так кирпич.

Одно я знаю точно нельзя брать БУ segate, слишком легко там SMART можно подчистить. Разве что брать чтобы по UART моторчик включать/выключать или типа того, для самоделок. Но я не замерял, оно перестанет крутить само или всё же пока не стопнешь. Если не перестанет, можно дохлые платы использовать как контроллеры моторов. Но это я додумываю, поиграться ещё интересно бы было, но раз уж заработал, не буду добивать.

Ноут с механическим диском?

Да. Он стационарный, аккомурятора нет, если переносить с места на место, то гибернация на диск или выключение.

Я даже с исправным бы опасался что он повредится от тряски

Ну, а что поделать, что имеем то используем

и неизвестно куда поползут битые секторы

Если механических повреждений нет, то нечего и бояться. Рано или поздно битые сектора появятся, и на этом и на любом другом диске. Поползти они никуда не могут. Ничего там никуда не ползает, блин с магнитной поверхностью да головка парящая, рано или поздно сломается, оно не вечное. Но пока работает будет работать. Вернее вру, могут, может быть головка кривая и буквально она будут пропахивать поверхность, и та пропаханная головку на бешенных скоростях вращения бросать туда сюда и тут уже лавинообразные физические повреждения, это всё да. Это полный кабздец, как снежный ком будет расти на весь диск. Но если этого явно нет, или оно есть где-то в начале диска или в конце и можно разметить его так чтобы избегать работу с плохими местами всё будет хорошо.

Да, это я утешаю себя, буду верить в лучшее =)

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от superuser

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

Это хорошо или плохо?

Главное чтобы от перепадов температуры в пределах +/- 20 по цельсию не деформировался сильно, если так то пофигу из чего блины, магнитный слой наносится отдельно. Если ты про хрупкость, то она тут не важна, пусть хоть из стекла, площадь блинов маленькая, нужна неимоверная сила чтобы их механически повредить, царапка по поверхности от головки страшнее.

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от deep-purple

Ты же пишешь про «чистим все и юзаем по новой»?

Да.

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

Я так понял чистка смарта и G-list особо ничего не сделает, данные как лежали так и будут, но я ещё кхм захерачивал slip list доолгая операция и делал m0,8,2,,,,,22 а это внутреннее форматирование на уровне секторов, после такого конечно всё.

А блочное устройство позволяет читать? Если да, то сними образ, а затем натрави на него foremost он тупо читает поток байт и по эвристикам выявляет файлы, фотки, видео, текст и так далее. Foremost даже из форматированного диска может выстаскивать, где нет ни файловой системы , ни таблицы разделов, если я правильно помню, ему похер, он тупо ищет эвритсики файлов в потоке байт.

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

  • Диск не видится из за внутреннего конфликта самокоррекции, некуда её делать
    • Надо залезать и стирать всё до чего дотянусь
  • Часть диска полудохлая, а часть полностью здоровая
    • Надо выяснить где что
  • На полудохлую но огромную по размеру часть можно закинуть загрузчик, он маленький и велик шанс что запишется удачно
  • На нормальной части можно делать что угодно, установить ОС.

Оказалось что все догадки и мысли были верными. И эксперимент удался. Если бы я думал про доставание данных, и диск видится, но не монтируется, то и хрен с ним с монтированием, надо снять с него образ, и попробовать вытащить или узнать почему не монтируется, битая таблица разделов, восстановить, должна копия лежать в суперблоках. Битая ФС, восстановить, если журналируемая, если нет, то foremost или аналоги.

Если бы на таком диске был код например, и он важный, дело всей жизни, то можно ваще ультануть, и буквально глазами восстановить тупо cat /dev/sda | less и читать все гигабайты глазами и тупо увидев код копировать его даже кусочками.

Но это я уже так, полуфантазирую, но в целом это реально.

Я так понял, данные восстановлению уже не подлежат?

Я не спец, но физически намагниченные области где были там и остались, если есть любая возможность, в любом виде их считать, то доставание от туда данных сводится лишь к последующей интерпретации полученных байт. Если там была коллекция в сжатых архивах, программы, образы то ну как повезёт, если там видео, фотки, текст, то можно хотя бы повреждённые данные достать.

Тут целое поле для экспериментов и приёмов с полётом фантазии. Но нечно лучше отнести дядям которые занимаются восстановлением данных, у них там и чистые боксы есть, они там тупо блины снимают и ставят в другое тело, там крутят, читают. Дорого правда наварное, очень, очень, очень.

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от firkax

Ноут с механическим диском?

Были и плееры с механическим диском. И ничего, народ с ними бегал. И даже нокия какая-то с жёстким диском была.

У меня оригинальный диск от нетбука до сих пор жив, теперь крутится во внешнем чехле. Нетбук этот я неоднократно ронял. В ноуте HDD стал внезапно сыпать ошибками, но ноут был чисто домашний и к тому моменту перестал покидать стол.

Vidrele ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Кстати, давным давно, в конце 2009 года брал себе 3 диска Хитачи новых по 1Тб, один диск стоил в районе 1000р. Один диск с магазина оказался немного битым, обнаружил я это спустя год, как только я его забил под завязку данными. У него было 53 переназначенных сектора и 2 сектора кандидата на переназначение на тот момент. В итоге этот диск работает по сей день. Общая наработка 5 лет и 8к циклов вкл./откл.. Переназначенных секторов с тех пор больше не стало. Так что, действительно, битые сектора на дисках это далеко не приговор.

Charlie-
()

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

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

AZJIO
()
Последнее исправление: AZJIO (всего исправлений: 1)

Всегда было интересно через dm попробовать такой вариант, с пропуском сбойных мест. Но как-то диск излечивался в процессе издевательств.

anonymous
()
Ответ на: комментарий от LINUX-ORG-RU

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

Да тут дорого даже при использовании простых инструментов. Я сколько раз брался и пришёл к выводу что это бесполезная трата времени. У людей нет приоритетов или понимания баланса между необходимостью и затратами. В сыром режиме прога несколько часов мурыжит диск, восстанавливает данных в 4 раза больше самого диска, а потом даёшь человеку самому разгребать и понимаешь, что он как на дурака смотрит, типа угадай какие мне нужны фото и сам разгреби, а я их брошу опять на полку и на 100 лет про них забуду. Там же структуры папок нет, осортировал по расширениям, удалил технические, удалил крупные и всё равно женщина не будет остатки ковырять. Скажет ты не волшебник и пошлёт подальше. А ещё была обвинила меня что я ей что-то сломал, так я 4 дня вытаскивал с её диска разными прогами, благо я скопировал рабочий стол и другие пользовательские папки, не только стандартные но и те куда можно по своему засунуть, я анализирую сканером и поиском. И вывел логически что она поломала систему, дала мне на переустановить и потом просто свалила на меня свои косяки, когда я ей это доказал, она тупо замолчала, так как нам стало очевидно обоим эта ситуация, а 4 дня коту под хвост, ладно я был молодым, и не сильно переживал за время в отличии от сейчас. Раза 4 восстанавливал и во всех случаях выслушивал только недовольства. Надо сразу говорить, готовы ли вы не иметь гарантии получить результат, но гарантированно оплатить работу по восстановлению и конкретную цену 8-16 тыс., вот тогда сразу любители подинамить отсеются.

AZJIO
()

мля, всегда забавляют эти треды на лоре, когда все здешние «синьоры с зарплатой в 500К₽» (если верить Job) отчаянно пытаются оживить железо, которому место на помойке, потому что на новое денег нет.

anonymous
()
Ответ на: комментарий от anonymous

Тут конкретно человек говорил разве про зарплату в 500К₽?

Да и потребительское поведение сильно зависит от характера и воспитания человека, нежели от зарплаты. У меня например знакомый директор завода, с не знаю какой зарплатой (знаю, что явно не ниже 500К₽) не гнушается б/у вещи на Авито покупать ради экономии. Хотя может себе позволить всегда брать только новое. И есть противоположный пример - бывший одноклассник, который работая менеджером нижнего звена, закупается одеждой в ГУМе, потратил на шмотки даже деньги, которые ему собрала мама с бабушками и дедушками на покупку квартиры.

Chiffchaff
()
Ответ на: комментарий от AZJIO

контакт точечный

Да, и прижим там приличный, но достаточно под точечный контакт сбоку зайти коррозионной микро каверне и процесс уже будет не остановить, точка контакта будет уменьшаться, а ток бегать по ней прежний, следовательно повышение сопротивления, нагрев, расширение и далее как снежный ком, всё друг на друга влияет после некого порога, за годы эксплуатации.

Чего гадать, почистил, по новой хорошенько прижал, всё =)
Но было бы интересно в хороший мощный микроскоп изучить процессы деградации и замерить температуру контактных пятен и так далее, чтобы понимать процессы, прикидывать последствия и наступление их сроков.

LINUX-ORG-RU ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Коррозия идёт слоями. Со временем от незащищённых участков не останется и следа. Не раз наблюдал сквозную коррозию после несмытого активного флюса. А тут диску скоро совсем хана придёт – процесс задел переходные отверстия, так что, если реально нужно продлить жизнь диску , то советую зачистить и залудить все повреждённые места, а потом места паек по возможности заизолировать маской. А проходные отверстия продублировать проволочными перемычками, особенно в местах, к которым приходят дорожки.

yars068 ★★★★★
()
Ответ на: комментарий от yars068

Внял, но оставлю как есть, там не всё так плохо (хотя да на глаз не определить). Паять такую микромелочёвку мне нечем.

Тут тоже тормоза надо иметь, а то так и видеокарту к PCIe можно припаять, да покрыть цапонлаком :)

LINUX-ORG-RU ★★★★★
() автор топика
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от Chiffchaff

Тут конкретно человек говорил разве про зарплату в 500К₽?

Нет, конечно, но тесное соседство тредов «если у вас з/п ниже 300К₽, вы хреновый айтишник» с подобными, как у ТС, безмерно радует.

Равно как и соседство тредов «16Гб ОЗУ в 2023 мало» с «У меня два гига ОЗУ, полёт нормальный» от @amd_amd

tiinn ★★★★★
()
Последнее исправление: tiinn (всего исправлений: 1)

Сделали диск на 320GB ой, половина объёма битое, не беда, пометим на заводе и продадим как 120GB диск.

Это же какого размера должен быть p-list?

Возможность по сути произвольного размещения загрузчика сделала возможной продолжение использования диска.

Да, размещение загрузчика побоку. Если бы отвалился не нулевой, а первый сектор, GPT таблицы бы не было. И ещё не известно, как BIOS будет рабоать, если GPT не читается, полезет ли он в конец за копией GPT... Уж сразу рассматривать крайний случай и делать заргрузочную флешку, создающую раздел на лету, без записи на НЖМД (BLKPG_ADD_PARTITION, blkpg-part) :)

Почистил разумеется.

Через год посмотрите.

mky ★★★★★
()
Ответ на: комментарий от anonymous

оживить железо, которому место на помойке, потому что на новое денег нет.

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

Я вот например хочу выпендриться так, чтобы раздел /boot был на флешке, а вся система - на nvme, воткнутом в слот через китайский переходник. Естественно плата не умеет грузиться с nvme, а вот с usb флешки умеет. Просто вручную сделать загрузку с usb - это я могу. А вот теперь хочу сделать так чтобы при штатном апдейте дебиана еще и ядро могло обновляться и ничего не ломалось.

watchcat382
()