Чи форматування дійсно видаляє все на фізичному жорсткому диску?


19

Я хотів би зрозуміти, що насправді видаляє форматування.

Під час запуску комп’ютера щось з’являється, що нагадує DOS. Це неможливо зберегти на жорсткому диску? Де він зберігається тоді?

Я читав, що на жорсткому диску є завантажувальний сектор, чи залишається якийсь залишок на жорсткому диску після його форматування? Чи справді це закінчується 0 байтами, що залишилися на диску?


6
Форматування не видаляє все. Щоб видалити все, скористалася б програма, щоб записати нулі на весь диск
барлоп,

6
Нешвидкий формат на Vista чи новіші фактично записує нулі. Раніше версії Windows замість цього виконували те, що є по суті chkdsk /b.
Даніель Б

5
Ця "річ, що нагадує DOS", може бути підказкою UEFI, на здогадку.
користувач253751

3
Принаймні одна «відповідь» відноситься до BIOS як до «операційної системи» . Це неправильний опис для окремої програми. Для більш детальної дискусії дивіться superuser.com/questions/424892/is-bios-considered-an-os
тирсу

Відповіді:


51

Це справді три різні питання, з довгим важким шляхом до повного розуміння.

Дозвольте спробувати стиснути це на менші, простіші ідеї ...

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

Якщо ви швидко відформатуєте диск, все, що ви дійсно робите, - це видалити "індекс" - всі фактичні дані все ще є. У цей момент, якщо що-небудь намагатимуться записати на диск, він би не "знав", що старі дані були там, і тому створив би новий "індекс" і записувати будь-які старі дані.

Повний формат замінить самі фактичні дані - хоча це можливо все-таки відновити за допомогою передових методів.

Коли ви завантажуєте комп'ютер зі стертим або абсолютно порожнім жорстким диском, те, що ви бачите, є крихітною операційною системою (насправді окремою програмою, але вона діє як невелика ОС, з усіма намірами та цілями), яка зберігається у фактичному комп'ютерному обладнанні , а не на самому жорсткому диску - що просто повідомляє машині, де шукати далі інструкції.

Завантажувальний сектор - це невеликий сектор жорсткого диска, який містить інструкцію, яка вказує комп'ютеру, де слід шукати повністю завантажувальну систему.


1
Примітка. "Сектор завантаження" повідомляє комп'ютер, а не сам жорсткий диск про те, де шукати далі на жорсткому диску, щоб отримати додаткові інструкції.
Макіен

5
EFI робить все, що робить операційна система.
Zan Lynx

6
Я думаю, замість того, щоб говорити, що це неточно і вводить в оману, вам потрібно спробувати запропонувати альтернативу. Я не можу реально придумати спосіб компресії цієї конкретної «системи» тут, не занурившись у зайві та не менш оманливі деталі. Це може бути більш точним, але це не обов'язково допоможе ОП у розумінні того, що відбувається. Я дуже сумніваюся, що ОП має точне та безпосереднє розуміння того, з чого слід почати ОС.
Нельсон

Варто зазначити, що це справедливо для HDD. SSD-накопичувачі ще складніші.
Hauleth,

@Hashim - я прийму інші зміни, але "BIOS" занадто специфічний і не те, що я мав на увазі. Я не володію жодними комп’ютерами з BIOS.
Tetsujin

9

Тут є 3 питання.

Я хотів би зрозуміти, що насправді видаляє форматування.

Щодо форматування: Існує кілька способів форматування. Один називається швидким форматом. Все, що він робить, - позначити розділ, відформатований як порожній, без фактичного видалення даних. Нормальний формат позначатиме розділ як порожній, а на додаток записуйте 0 до всього розділу. Це все ще дозволить неформатній програмі відновити дані, але це займе більше часу. Тоді також є програми, які можуть захистити стерти диск, записуючи на диск багато випадкових даних за більш ніж один цикл, що ускладнює неформатну програму для відновлення даних.

Майте на увазі, що після того, як диск був відформатований і відображається як порожній (навіть за допомогою методу швидкого форматування), коли ви починаєте записувати в нього дані, він замінить дані про місце, де раніше зберігалися дані. Це дозволить складно відновлювати програму для відновлення конкретних даних.

Під час запуску комп’ютера щось з’являється, що нагадує DOS. Це неможливо зберегти на жорсткому диску? Де він зберігається тоді?

Потім текстовий екран, який ви бачите при запуску комп'ютера, називається BIOS. BIOS (Basic Input Output System) - це операційна система, яка спілкується з вашим обладнанням і дозволяє Windows або будь-якій іншій операційній системі взаємодіяти з вашим обладнанням. Зважаючи на те, що іноді потрібно визначити, коли апаратне забезпечення вмирає, BIOS має текстовий інтерфейс та програму SETUP для взаємодії з ним. Цей текстовий інтерфейс - це те, що ви бачите при запуску комп'ютера. Зауважте, MOST BIOSses має функцію показувати зображення замість того, щоб не бентежити користувача.

Я читав, що на жорсткому диску є завантажувальний сектор, чи залишається якийсь залишок на жорсткому диску після його форматування? Чи справді це закінчується 0 байтами, що залишилися на диску?

Бутсектор жорсткого диска - це певне місце на жорсткому диску, яке змінюється лише при зміні розділів. Інструмент завантаження визначає, з якого розділу слід завантажитися, якщо ви намагаєтеся завантажити з цього конкретного жорсткого диска. Форматування НЕ впливає на завантажувач. Змінення лише завантажувача все ще змусить роботу жорсткого диска правильно, за винятком того, що ви не можете завантажити його з нього.


2
"The bootsector basically is a config file"- можливо, на (U) системах EFI / GPT? Принаймні, у системах на базі MBR завантажувальний сектор містить код. (Те, що є конфігурація, насправді досить залежить від коду на початку сектора.)
TOOGAM

6
"... на додаток запишіть 0 на весь розділ. Це все одно дозволить неформатній програмі відновити дані ..." - Це буде справді акуратним трюком відновлення даних, які були зведені на нуль. IOW ти суперечить собі ..
тирса

4
@sawdust Ще можна відновити деякі дані. Або, принаймні, деякі шматки цього, вдосконаленими методами. Recuva МОЖЕ мати можливість відновити ДЕЯКІ ці дані. Одного проходу може виявитися недостатньо, щоб дійсно змінити все магнітне поле жорсткого диска. На SSD-накопичувачах дані з нульовим вимиканням можуть не працювати добре через методи вирівнювання зносу, які можуть залишати сектори незайманими. Це означає, що з часом / удачею / деякими знаннями ці дані все одно можна відновити. Ось чому ви використовуєте ATA Secure Erase на SSD.
Ісмаїл Мігель

@IsmaelMiguel __ Отже, ви зробите різницю, що відновлення даних може бути можливим кваліфікованими фахівцями. Recuva не претендує на відновлення перезаписаних файлів, лише для "видалених" файлів. Але моя критика полягає в тому, що ця відповідь стверджує, що кожен, хто має якусь "неформатну" програму, здатний виконати цей подвиг відновлення! FYI Я зробив програмування файлової системи та драйверів диска, а також письмове програмне забезпечення контролера диска, тому я розумію цю тему.
тирса

@sawdust Я знаю, що вони не роблять жодних записів. Я висуваю ці претензії. І це не тверді претензії. Слово "може" - це ключове слово. Recuva може виявити частково видалені файли, але я не впевнений, скільки вона може отримати з цих частково перезаписаних файлів.
Ісмаїл Мігель

6

Я хотів би зрозуміти, що насправді видаляє форматування.

Коли комп'ютер "форматує" диск або розділ, це означає створити об'єм файлової системи. "Об'єм" - це місце, де зберігаються файли; для старих дискети весь диск був в основному обсягом. Для жорстких дисків у розділі зберігався том, і один диск міг мати декілька розділів (це означає, що він матиме декілька томів).

В основному форматування закінчується створенням порожньої таблиці. Коли я кажу "таблиця", ви можете придумати діаграму з рядками та стовпцями. Кожен рядок посилається на ім’я файлу. Кожен стовпець ідентифікує фрагмент файлу. Наприклад, "перший фрагмент цього файлу знаходиться в секторі 1000". "Другий фрагмент цього файлу знаходиться у секторі 2000". Процес форматування створює порожню таблицю, а потім ця таблиця заповнюється під час створення файлів. У DOS тип файлової системи був названий за цією таблицею, яка отримала назву "Таблиця розподілу файлів".

Якщо ви не переживаєте за старі дані та хто може отримати доступ до старих даних (що може викликати занепокоєння, якщо ці дані є конфіденційними / чутливими), тоді найкраще зробити «швидкий формат», який просто створює мінімальні деталі для обсягу файлової системи, що відстежує файли. Якщо у вас є вибір між форматом «мінімальний» / «швидкий» та «повним» / «розширеним», то останній формат, ймовірно, щось зробить для кожного сектору дисків, що входить до обсягу файлової системи. Це може означати стирання кожного сектора або просто спроба зробити якусь іншу перевірку, щоб переконатися, що цей сектор є фізично придатним.

Під час запуску комп’ютера щось з’являється, що нагадує DOS.

Як і відповідь LPChip , я припускаю, що ви маєте на увазі процес "запуску системи". На старих машинах це називали базовою системою вводу / виводу, скорочено BIOS. Існують певні стандарти щодо того, як працював BIOS, щоб комп'ютерне програмне забезпечення (як операційна система) могло взаємодіяти з частинами комп'ютера. Багато нових систем використовують новіший стандарт, званий (U) EFI ((Уніфікований) розширюваний інтерфейс мікропрограмного забезпечення). Я не знайшов жодного терміна, який б широко використовувала галузь для опису як BIOS, так і (U) EFI стандартів, тому я просто склав термін "запуск системи".

Основна причина, на яку я думаю, ви можете назвати це "схожим на DOS", - це використання тексту. (Добре ol ' CP437 !) Однак, з того, що я прочитав, у мене склалося таке враження, що (U) EFI можна керувати командним рядком (можливо, лише за допомогою деяких реалізацій).

Це неможливо зберегти на жорсткому диску? Де він зберігається тоді?

Зазвичай це повністю зберігається в деяких мікросхемах. У старих системах це були ПЗУ (пам'ять лише для читання). Однак, коли нові технології (як більші жорсткі диски) стали несумісними з мікросхемами, людям довелося фізично замінити мікросхеми, щоб підтримати новішу технологію. В кінці 90-х люди почали використовувати пам'ять, що записується, яку вони часто називали «флеш-пам’яттю». Така пам’ять не передбачається писати дуже часто.

Коли ви змінюєте параметри конфігурації в програмі запуску системи, дані вашої конфігурації зберігаються в іншій пам'яті, зазвичай званій CMOS. Це невеликий об'єм пам'яті (відмінний від вашої оперативної пам'яті), який зберігається на материнській платі.

Я читав, що на жорсткому диску є завантажувальний сектор, чи залишається якийсь залишок на жорсткому диску після його форматування?

Системи, що використовують стандарт BIOS, перевірять жорсткі диски, щоб перевірити, чи містять 511-й і 512-й байти ці біти: 0101 0101 1010 1010

Якщо так, диск вважався "завантажувальним", і BIOS сказав би процесору почати слідувати інструкціям, розташованим на першому байті диска. Перші 512 байти диска отримали назву "Master Boot Record" ("MBR Record"). Код, що зберігається в MBR, повинен був бути досить малим, оскільки 511-й байт повинен був становити 01010101, якщо комп'ютер збирався завантажитися. Власне, більшість цього завантажувального коду зробить, щоб перевірити 447-й до 510-й байт за допомогою стандарту, який називається "таблиця розділів". Байти в цій таблиці вказували б, де був розділ (або більше одного розділу). Зазвичай перший розділ розпочнеться на другому циліндрі жорсткого диска. (Зі старими жорсткими дисками термін "циліндр" позначав фізичну характеристику жорсткого диска.

(U) EFI трохи складніше, розуміючи складнішу структуру GPT.

У будь-якому випадку, форматування не має нічого спільного з цим. Форматування пов'язане з даними в розділі (часто починається з другого циліндра, який часто називали Циліндром №1, оскільки перший Циліндр часто називали Циліндром число нульовим). Тому форматування не повинно впливати на початковий код завантаження, який MBR використовує на диску. Однак форматування може вплинути на код, який комп'ютер намагається використовувати після використання даних MBR.

Чи справді це закінчується 0 байтами, що залишилися на диску?

Ви маєте на увазі 0 байтів, що були використані? Абсолютно не. На диску накопичені абсолютно байти. У розділі зберігається об'єм файлової системи, який містить таблицю, яка буде використовуватися для відстеження імен файлів і де зберігаються фрагменти файлу. Зазвичай є інші деталі, наприклад "мітка" (це ім'я, яке можна призначити томі файлової системи). Це повинно бути порівняно невеликою кількістю загальних даних диска, але це частина диска, який звикає.

Коли ви запитуєте вашу операційну систему, скільки байтів доступно, операційні системи зазвичай повідомляють, скільки байтів можна використовувати для зберігання файлів. Саме ці дані цікавлять більшість людей. Операційна система не повідомляє про байти, які використовуються для зберігання таблиці файлів, а також байти поза розділом (наприклад, MBR).

Однак, оскільки таблиця порожня, всі байти, які можуть зберігати фрагменти файлів, доступні, і нуль з них витрачається. Вміст старих файлів може бути на диску, якби диск був швидкоформатований. (Така програма, як TestDisk може допомогти знайти такий вміст.) Однак, коли ви попросите операційну систему зберігати новий вміст у нових файлах, операційна система буде використовувати ті області диска (оскільки в таблиці не сказано, що ці області диска зберігають будь-які фрагменти файлів, які нас цікавлять). Отже, старі дані можуть бути перезаписані новими даними (це призведе до того, що TestDisk зможе відновити старі дані, коли це станеться). Зауважте, що навіть якщо вміст файлів збережено, такі дані, як імена цих файлів, могли бути перезаписані під час форматування диска. (Я кажу "можливо", тому що існують різні способи зберігання файлів. Деякі з цих способів відстеження даних можуть містити таблицю, що має постійний розмір, використовуючи простір для відстеження розділів на диску, навіть якщо ці розділи не є зберігання файлів ще. Інші методи можуть змінювати розмір таблиці залежно від того, які дані зберігаються на диску, тому порожній диск може мати невелику таблицю. Тож, можливо, деякі з цих імен файлів все ще зберігаються фізично на диску, але операційна система не відслідковує ці старі дані, і таким чином дані, ймовірно, будуть видалені, коли операційна система знайде користь для цього.)


3

Чи форматування дійсно видаляє все на фізичному жорсткому диску? Я хотів би зрозуміти, що насправді видаляє форматування.

На основі фактичних експериментів (а не відгадування чи посилання на інше джерело), ​​які старі дані, які будуть перезаписані, залежатимуть від того, як ви виконуєте цей "формат" .

Коли розділ створюється та формується Linux (використовуючи GParted) (для NTFS або Ext4) або "швидкий", форматований Windows 7, лише мінімальна кількість секторів перезаписана, достатня для ініціалізації файлової системи. Нерозміщені сектори (які безкоштовно користуються файлами користувачів) можуть не торкнутися і зберігають старі дані.

Коли розділ створений та сформований у Windows 7 (не використовуючи швидку опцію), всі сектори в розділі перезаписуються. Старі дані в нерозподілених секторах (і їх безкоштовно використовувати користувацькі файли) перезаписані нулями. Не вдасться відновити старі дані та файли "неформату".

Під час запуску комп’ютера щось з’являється, що нагадує DOS. Це неможливо зберегти на жорсткому диску? Де він зберігається тоді?

Ви, мабуть, маєте на увазі або програму BIOS, або UEFI, яка буде (як правило) зберігатися у мікросхемі флеш-пам’яті (на материнській платі).
Ви можете легко переконатися, що ця автономна програма (яка не є операційною системою) є локальною для ПК, а не на будь-якому HDD або SSD, перезавантаживши материнську плату без підключених накопичувачів. (Звичайно, відключайте накопичувачі, поки ПК не живиться.)

Я читав, що на жорсткому диску є завантажувальний сектор, чи залишається якийсь залишок на жорсткому диску після його форматування?

Існує програма завантаження, яка існує в першому секторі диска (наприклад, MBR, Master Boot Record), та інша програма завантаження на початку кожного завантажувального розділу.
MBR - це проста програма завантаження, яка завантажує завантажувальну програму розділу, який позначений "активним".
Програма завантаження активного розділу буде встановлена ​​файловою системою. Це може бути ще один проміжний завантажувач для завантажувальної програми, здатної фактично завантажувати операційну систему (наприклад, GRUB).

Чи справді це закінчується 0 байтами, що залишилися на диску?

Не очевидно, що ви просите.

Зауважте, що будуть сектори, які не виділяються жодному розділу, який ніколи не буде записаний у будь-якому форматі. Між MBR та першим розділом може бути 1024 (створення розділів Linux) або 2047 (створення розділу Win7). Між розділами також можуть бути невикористані сектори. Фактична кількість секторів може змінюватись, залежно від того, де закінчується попередній розділ та де починається "сусідній" розділ, який залежатиме від типу вирівнювання розділу (наприклад, від "циліндра" або на мегабайт).


2

Старіші жорсткі диски мали механізм переміщення голови дискретними кроками; інформація про те, з чого починається кожен сектор, зберігалася в тому ж "потоці даних", що і вміст фактичних секторів. Щоб записати сектор №5 треку, привід запустився б у режимі "читання", поки не побачив маркер "Це початок сектору №5", перемкнутись у режим запису, запишіть трохи порожнього простору з подальшим початковим початком маркер, почніть виписувати всі байти в секторі, а потім перейдіть до режиму читання, коли це було зроблено.

Якщо не було відомо, що на доріжці є відповідний розміщений набір сектових маркерів (як це було у випадку з абсолютно порожнім неформатованим диском), його потрібно буде відформатувати перед використанням. Для цього привід вмикає режим запису, пише розрив, а потім повторно записує заголовок сектора, невеликий проміжок, заголовок вторинного старту та довільні дані сектору та інший проміжок. Після цього накопичувач перейде в режим зчитування і гарантує, що всі сектори читаються (якщо зазори між секторами занадто довгі, останній сектор може перезаписати перший; якщо пропуски занадто короткі, можливі зміни швидкості приводу пізніша операція запису сектора, щоб перейти в наступний сектор).

Створення формату "низького рівня" на такому диску буде досить добре стерти будь-яку інформацію на ньому, але це займе більше часу, ніж типова команда формату "високого рівня", яка просто гарантує, що кожен сектор читається, не намагаючись переписати заголовки секторів сектори, які є.

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


1

Ні, по-перше, форматування - це процес, виконаний на розділі, а не на диску в цілому, тому він не впливає на таблицю розділів, інші розділи або MBR на диску. Те, що ви бачите, звучить як завантажувач, це невелика програма, яка виконується безпосередньо біосом, який потім має завдання вибору та виконання ядра операційної системи; у цьому випадку розділ, відформатований, означає, що завантажувач не може знайти ядро для виконання.

Це говорить, навіть якщо процес, застосований до всього диска, це помилка думати, що форматування фактично видаляє вміст файлу з диска, оскільки він насправді такого не робить. Що відбувається при форматуванні диска, це те, що метадані, такі як таблиця розподілу файлів, суперблоки тощо, очищаються, а на його місці записується порожня структура.

На власний вміст файлів не впливає сам процес форматування. Аналогія викреслює зміст книги, розділи все ще будуть там, хоча не існує змісту, який би їх перелічував.

Існує програмне забезпечення, яке може ігнорувати метадані та шукати безпосередньо фактичний слід самих файлів на накопичувачі, і відносно файли в більшості випадків досить тривіально, якщо частина місця, зайнятого файлом, не була повторно використана та перезаписана новими даними.

Якщо ви насправді хотіли знищити дані на диску, існують методи, хоча це було б доречно залежно від таких факторів, як тип накопичувача (SSD має більш прості способи забезпечити стирання, ніж жорсткий диск, наприклад), для магнітних накопичувачів ще один фактор - саме такий рівень руйнування бажано. Існує різниця між знищенням даних, тому їх неможливо відновити комерційним жорстким диском і намаганням знищити їх до моменту, коли високочутливе обладнання для судово-медичного аналізу не може відновити жодних слідів даних.

EDIT: Зауважте, якщо машина не була замурована перерваним оновленням BIOS або подібним, навіть машина з встановленими повністю порожніми накопичувачами щось покаже при спробі включити її. BIOS не зберігається на жодних накопичувачах - це невелика програма, що зберігається в невеликому мікросхемі твердотільної пам'яті на самій материнській платі.


BIOS зберігається на EEPROM, який є мікросхемою ROM, а не маленьким твердотільним чіпом пам'яті. Найбільша відмінність полягає в тому, що ROM означає пам'ять лише для читання. Це потрібно прошивати, щоб змінити програму.
LPChip

2
@LPChip - це все-таки форма флеш-пам’яті. Насправді SSD мають те саме принципове обмеження, що вони не можуть просто перезаписати, а їх потрібно стерти, а потім записати. Різниця полягає в тому, що розмір блоку стирання SSD становить лише частку від загальної кількості ємність мікросхеми та кілька змін у побудові схеми, але це все ще форма твердотільної пам'яті. Я просто не дуже хотів дізнатися про деталі численних різних технічних реалізацій миготливих мікросхем пам'яті.
MttJocy

@LPChip - Єдина точна частина вашого коментаря - це розширення абревіатури ROM. "BIOS зберігається на EEPROM, який є мікросхемою ROM ..." . EEPROM в ROM не вважається, оскільки його можна стерти і записати в ланцюзі. ПЗУ створюється за допомогою процесу напівпровідникового маскування. Flash, а не EEPROM, використовується для зберігання BIOS близько двох десятиліть. EEPROM і flash - це "твердотільна пам'ять" . Це неоднозначний термін, але все-таки більш точний, ніж ваша спроба виправлення.
тирса
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.