Възстановяване на информация на твърдия диск, след маркиране HDD

Вчера прецаках. Бях в местния Hackerspace и WiFi не работи там. Аз бързах и бях разочарован, така извади тоягата и се опита да го изтриете. Достатъчно е да се каже, че USB-флаш устройството не се определя като / сътрудничество / SDA. Изчистих GPT-запис на моя лаптоп. Дискът е криптирана, благодарение на буфер, всички тичат за известно време, а след това изведнъж проблесна покана основен потребител и. нищо повече.

След като избърса студена пот, аз тихо си тръгнах. Следваща ще бъде историята на това как се възстанових от него с помощта на съвети Джейк Уоткинс (: dividehex). Системата не е непоправими данни. Всички мои творби се съхраняват в контрол на версиите, а аз, разбира се, предварително е публикувал всички източници на GitHub. Дори моята директория dotfiles дом е в GitHub (лично хранилище). Но аз прекарах няколко седмици седи на този лаптоп (Linux като операционна система десктоп може да се използва само в много дългосрочен план!). За съжаление, една от малкото неща, които не са били в хранилището - моите бележки. Възстановяване от нулата ще отнеме няколко седмици.

Усложни задачата. В моя лаптоп ThinkPad X1 Carbon не е Ethernet порт. WiFi само.

Създаване на резервно копие

ОК, ще трябва да спре "кървене".

Обувка от живо-USB стик. Аз се използва за инсталиране на системата "от нулата". По този начин, аз се опитах да се намери липсващата диск чрез Desktop OS:

Търсенето отне около 8 часа, но тя ми даде време да се направят някои други проучвания, една бира Балтийско Портър (многозадачна!) И сън.

Търсене на изтрити данни на твърдия диск

Така че ситуацията е, че имам таблицата на дяловете с един размер обем от 256 GB с FAT32. Някъде на диска е вероятно да остане непокътнат през целия ми данни. Но къде са те?

Джейк предполага търсене резервна таблица с GPT дял, който е в края на диска. В gdisk конзола разширени опции ми позволи да проучи тази таблица, но това е твърде празна. Втори връх Джейк: Опитайте се да намерите подпис kriptokonteynera Лукс на.

В крайна сметка, записът в таблицата е бил намерен в началото на този раздел, е 05364000000 (735051776 десетични) байта на диска. 512 - размерът на сектора, този сектор е 1,435,648.

В конзола gdisk Създадох раздел започва на това място и на следващия до края на диска.

Тя изглежда като разбрах изчезна информацията.

Въпреки това, той не работи. Тя не се разделя ext4 формат - физическо LVM обем. Удев вече стартира pvscan, така че просто трябва да активирате групата по обем:

В този момент, че е време да се създаде друг архивиране. Аз бях на катран, за да възстановите съдържанието на двете групи, запишете файла на компютъра си машина. Отне около час. Сега се чувствам много по-добре, аз имам моите бележки, оцелели системните настройки, както и всичко останало. Но аз не изгубите данни - мога да ги възстанови напълно?

преструктуриране

Аз рестартира с жива USB-флаш памет, само за да загубят всичко, което съм направил с диска преди. Разбирам, че / сътрудничество / sda1 - това вероятно не е правилно номера на дяла за цялата файлова система, така че аз се премества в / сътрудничество / sda3 (преместване и повторно създаден със същите първите / последните сектори). Друг рестартиране.

След това, аз се опитах да стартирате инсталатора и инсталирате върху съществуващите данни. Мисля, че мога да направя минимална инсталация в свободното пространство, особено след Anaconda ме увери, че отнема само 3,1 GB.

С една дума, това е лъжа. Anaconda - ужасен и бъги част от софтуера. Например, ако зададете размера на дяла - вместо на случаен принцип ще избере друг размер. Уф.

В действителност, Anaconda нуждае от около 15 GB за процедурата за инсталиране. Така че аз трябва да се намалят на / сътрудничество / sda3. Промених размерите на логически обеми през цялото време, но тя работи точно обратното - аз трябва да компресирате физическия обем. Това се оказа малко по-сложно. Първоначално, след отваряне на обема на LUKS, пускам командния pvresize:

Възникнала е грешка, тя ми казва, че има място за новосъздадения последно място. Тя трябва да бъде извадена от последната разстоянието, че последната степен се нарича $ граница. Стартиране с помощта pvdisplay / сътрудничество / картограф / таен екип - ние получаваме общото физическо пространство и го наричат ​​$ общо. След това използвайте pvmove за прехвърляне:

и рестартирайте команда pvresize.

Сега трябва да промените размера на контейнер Лукс, който се намира в PV. Това ще изисква малко смятане. LVM използва "GiB" - това е нормална мерна единица, а не глупаво измервателен инструмент фабрика. Ето защо, 210гр - е 225 485 783 040 байта, които (разделени на 512) съставляват 440 401 920 сектори на твърдия диск.

ОК, аз натисна PV, както и контейнера ЛУКС, а сега имам нужда да изтръгне повече и дял. Това означава, изнасяне и повторно добавяне разрез konsoleuyu полезност gdisk. Като се започне сектор остава непроменено, докато последната сектор се изчислява като $ startingsector + 440 401 920 - 1. Стойността -1 е важно, трябва _lastsector, не първия сектор на следващия раздел. Би било тъжно да се изплъзне от 512 байта на данни, когато най-малко го очакваш. типът на файловата система не е от значение - аз използвах файловата система по подразбиране, но аз забелязах, че анакондата използва 0700.

Рестартирайте компютъра и стартирайте инсталацията отново. Нека Anaconda си върши работата, защото тя не искаше и да чуе за мен, ако се опитам да го коригира. Anaconda е избрал друго име (fedora_ramanujan) за новия обем група. Ако не го направи, аз ще трябва да се преименува. Рестартирайте - и аз карам нова система.

Ако бях умен, щях да искам да тичам "Yum ъпгрейд", но там е. Това е, което ще се говори за по-долу.

Идеята е, че аз съм вече сте инсталирали и всички необходими UEFI зареждане дялове, но този дял е кодирано. Промени дума за редактиране /boot/efi/EFI/fedora/grub.cfg файл. заместване на нов VG VG със старото и новото ЛУКС UUID за старата ЛУКС UUID-ID ( "cryptsetup dumpLuks"). Рестартирайте, въведете паролата, и. "Добре дошли в авариен режим". Малко копаене, аз осъзнах, че всичките ми дялове са монтирани правилно, но списанието улавя провал инсталация / багажника / EFI. защото няма модул за VFAT.

сложността на ядрото

Ядрото и initrd, разбира се, са на / обувка, а във версията, че е бил инсталиран с живо USB стик. Модули на ядрото са модули в корен /, както и актуализираната версия на няколко месеца по-късно. Те не са едни и същи.

Бързо решение е да инсталирате нов ЛУКС контейнер и копират на / ИЪ / модули над / ИЪ / модули на стария контейнера. Това ме кара да се копия от всички модули, които са били инсталирани Anaconda, и ми позволява да се зареди операционната система. почти. Интернет не работи.

Това вероятно е така, защото аз съм с по-стара версия на ядрото с актуализирана система. Надграждане до най-новата версия на ядрото е правилно. Трудно е при липсата на Wi-Fi, така че аз гледам на опаковките на компютъра си, да ги копирате на USB флаш устройство (като много внимателни да не промените дяловете на компютъра си твърд диск в процеса!), И да изпълни командата

на лаптоп, след като се качи на USB-устройството. Рестартирайте - и върне към нормалното. Това не е най-интересните дейности в последните 20 часа. Но това беше едно забавно приключение.