70
BEZPIECZNA FIRMA
HAKIN9 12/2009
N
owoczesne oprogramowanie
śledcze typu EnCase lub programy
do odzyskiwania danych typu
R-Studio pozwalają na łatwą odbudowę
macierzy w sposób niemalże automatyczny.
Automatyka ta opiera się jednak o założenie
znajomości pierwotnej konfiguracji. W wielu
sprawach dostęp do tych informacji jest
możliwy, jednak całość komplikuje się gdy
konieczne jest jej samodzielne ustalenie.
Wyłączając metodę prób i błędów istnieją
techniki pozwalające na zbadanie, z jaką
macierzą mamy do czynienia oraz jakie
są jej szczegółowe ustawienia. Nie wdając
się nadmiernie w wyliczanie wad i zalet
poszczególnych typów RAID, w niniejszym
artykule skupimy się na elementach
związanych z odbudową macierzy poprzez
sprawdzenie jej konfiguracji.
Rekonstrukcja macierzy wymaga w
pierwszej kolejności ustalenia, jaki poziom
RAID został w niej zastosowany. Zasadniczo
zdefiniowanych jest sześć poziomów RAID: 0,
1, 2, 3, 4, i 5 występujących w rozwiązaniach
hardwarowych (niezależny kontroler) lub
softwarowych (system operacyjny). Choć
na rynku pojawiają się coraz to nowe
numery RAID to są one mutacjami, bądź też
kombinacjami poziomów podstawowych. Na
przykład RAID 6 to w rzeczywistości RAID
5+1 z dodatkowym dyskiem nadmiarowym,
zwiększającym bezpieczeństwo do
PRZEMYSŁAW KREJZA
Z ARTYKUŁU
DOWIESZ SIĘ
co to jest RAID,
jakie są najpopularniejsze
konfiguracje macierzy,
jak samodzielnie odbudować
macierz w sprawach
informatyki śledczej.
CO POWINIENEŚ
WIEDZIEĆ
podstawowa znajomość
organizacji danych,
umiejętność poruszania się w
dowolnym edytorze hex,
znajomość zasad informatyki
śledczej.
możliwości uszkodzenia nawet dwóch
dysków w grupie. Podobnie RAID 10 to w
rzeczywistości RAID 1+0, łączący w sobie
zalety obu konfiguracji. Z tego powodu
w dalszej części artykułu skupimy się na
konfiguracjach podstawowych, których
zrozumienie pozwoli w dalszym etapie na
odbudowę dowolnych konfiguracji.
Podstawy RAID
Striping to logiczna segmentacja danych
w systemach przeznaczonych do
przechowywania danych, takich jak macierze,
wprowadzona w celu zwiększenia wydajności
i/lub pewności przechowywania informacji.
Segmentacja jest realizowana w różny
sposób w zależności od typu RAID – może
ona być realizowana na poziomie bajtów
(Byte-level Stripping) – gdzie każdy kolejny
bajt danych znajduje się na kolejnym nośniku
macierzy (RAID 2 i 3), bądź też blokowa
(Block Stripping), gdzie dane podzielone są
na bloki (standardowo od 4-256kB), które
są następnie rozłożone na poszczególnych
n dyskach zgrupowanych w macierzy, przy
czym n jest ilością dysków (Array).
Obecnie nie stosuje się już macierzy z
segmentacją bajtową, a jedynie blokową.
Oznacza to, że przechowywana na macierzy
informacja jest składana z bloków danych,
zapisanych na kolejnych dyskach w grupie.
Na przykład dane: Przykładowy zapis w
Stopień trudności
Odbudowa
macierzy
RAID
Prowadzenie dochodzeń w różnych środowiskach
informatycznych prowadzi często do konieczności
zabezpieczania i przetwarzania informacji pochodzących ze
skomplikowanych systemów informatycznych. W sprawach w
których konieczna jest analiza danych zapisanych w serwerach
zdarza się, że niezbędne jest fizyczne zabezpieczenie dysków
pracujących w ramach rozmaitych macierzy RAID.
71
ODBUDOWA MACIERZY RAID
HAKIN9
12/2009
macierzy, zapisane w RAID o długości
bloku 8 bajtów, wyglądałby następująco
jak w Tabeli 1.
Z wyjątkiem RAID 0 każdy RAID
zakłada redundancję danych i
odporność na awarię, co najmniej
jednego dysku w konfiguracji. W
poziomach od 2-5 redundancja jest
realizowana poprzez wprowadzenie
sum kontrolnych, na podstawie których
możliwa jest odbudowa dysku, który
uległ awarii. Obecnie stosowany jest
algorytm XOR (RAID 4, 5 i ich odmiany).
Algorytm ten opiera się na prostej
funkcji logicznej (Tabela 2).
Oznacza to że mając kombinację
dowolnych dwóch dysków z macierzy
o n=3 dyski, możemy wyliczyć jaki bit
występował na brakującym bloku.
RAID 0 – striping
Ten typ macierzy często jest
postrzegany przez fachowców
jako pozaklasowy z powodu braku
redundancji (brak powtórzenia
danych). RAID tego poziomu jest
złożony z co najmniej dwóch dysków
jednakowej pojemności, z których
każdy zawiera 1/n danych. Pojemność
RAID jest tu sumą pojemności dysków
wchodzących w jego skład. Bloki
RAID 0 rozłożone są równomiernie
na wszystkich dyskach, a awaria
któregokolwiek z nich prowadzi do
utraty 1/n części danych. Oznacza to,
że jeśli dany plik będzie zalokowany
w ramach brakującego bloku, to
powstanie w nim dziura. W praktyce
utrata jednego dysku oznacza poważną
utratę danych, a im mniejszy blok
danych tym prawdopodobieństwo
uszkodzenia wszystkich danych
jest większe. Z tego powodu RAID 0
stosowany jest wyłącznie w systemach
gdzie ponad bezpieczeństwo stawiana
jest wydajność (Tabela 3).
RAID 1 – mirroring
Ten RAID złożony jest z co najmniej
dwóch dysków o tej samej pojemności
i jest najprostszą kombinacją, w
której występuje już redundancja.
Na tym poziomie każdy z dysków
macierzy posiada swoje lustro,
zawierające dokładną kopię danych
dysku mirrorowanego. Oznacza to, że
przestrzeń możliwa do zalokowania
stanowi 50% wszystkich zastosowanych
w macierzy dysków (1/2n). Awaria
jednego z dysków w parze nie
powoduje utraty danych. Wydajność
takiego układu jest dosyć niska w
porównaniu z innymi poziomami
macierzy, dlatego RAID 1 stosowany
jest wyłącznie w zastosowaniach, gdzie
najważniejsza jest pewność danych
(Tabela 4).
RAID 2
Ten typ macierzy praktycznie nie
jest stosowany ze względu na niską
wydajność i wysoki koszt budowy.
RAID ten jest połączeniem strippingu
i mirroringu, jednak zamiast tworzenia
lustra każdego z dysków prowadzono
tu zapis sum kontrolnych ECC,
zwanych kodami Hamminga. Na ich
podstawie, w momencie awarii jednego
z dysków, możliwe jest odtworzenie
jego zawartości. Ilość dysków
Tabela 1.
Przykladowy zapis słowa w macierzy
Przykład
owy zapi
s w maci
Erzy
Dysk 1
Dysk 2
Dysk 3
Rysunek 1.
Charakterystyczne dla parzystości ... w bloku
Rysunek 2.
Master Boot Record
BEZPIECZNA FIRMA
72
HAKIN9 12/2009
ODBUDOWA MACIERZY RAID
73
HAKIN9
12/2009
zaangażowanych w ten typ konfiguracji
może być różna. Typowa konfiguracja
dziesięciu dysków danych wymaga
czterech nadmiarowych dysków ECC
(Tabela 5).
RAID 3
RAID 3 ideowo wywodzi się z RAID 2,
jednak zastosowano w nim znacznie
wydajniejszy algorytm wyliczania sum
kontrolnych. Zamiast kodu Hamminga
zastosowano tu parzystość XOR.
Podobnie jak w RAID 2 konieczny jest
odrębny dysk przechowujący sumy
kontrolne. Na ich podstawie, w przypadku
awarii jednego z dysków, możliwe jest
jego odbudowanie. Ten typ macierzy
łączy w sobie wydajność i odporność
na awarie, przy czym konieczny jest
już tylko jeden dysk nadmiarowy. Ten
typ konfiguracji składa się z minimum
trzech dysków, a pojemność macierzy
wynosi n-1 sumy pojemności dysków
wchodzących w jej skład (Tabela 6).
RAID 4
RAID 4 jest zbliżony do RAID 3, jednak
wprowadzono tu podział na bloki w
obrębie paska macierzy. RAID 4 należy
już do grupy nowoczesnych.
RAID 5
To najpopularniejszy poziom
konfiguracji łączący w sobie zalety
wszystkich poprzednich, oferując dużą
wydajność i odporność na ewentualne
usterki. W odróżnieniu od RAID 4
parzystość zapisywana jest tutaj na
tych samych dyskach, na których
przechowywane są dane, zmieniając
swoją pozycję w kolejnych paskach.
Dzięki temu ilość koniecznych operacji
związanych z zapisem jest mniejsza,
a tym samym większa jest wydajność
macierzy.
RAID 5 wymaga minimum trzech
dysków, z czego jeden jest nadmiarowy.
Pojemność macierzy wynosi n-1 sumy
pojemności zaangażowanych dysków.
Ten typ RAID zapewnia odporność na
awarię jednego z dysków w konfiguracji,
gdyż brakujący dysk jest odtwarzany z
sum kontrolnych XOR w danym pasku
(Tabela 7).
Rotacja parzystości w
RAID 5
Zastosowany w RAID 5 mechanizm
przechowywania parzystości na
dyskach z danymi w ramach danego
paska (rotacja parzystości), w
zależności od konfiguracji, może
występować w czterech podstawowych
kombinacjach określających kierunek
rotacji.
Lewa asynchroniczna (rotacja
wsteczna, standardowa)
W tej konfiguracji bloki są numerowane
kolejno, a macierz zaczyna się od
bloku z danymi. Pierwsza parzystość
znajduje się na ostatnim dysku grupy.
Następnie parzystość wędruje wstecz
w kolejnych paskach macierzy. Ten
typ konfiguracji jest często stosowany
w sprzętowych kontrolerach macierzy
(Tabela 9).
Lewa synchroniczna
W tej konfiguracji segmenty w
pierwszym pasku numerowane są
kolejno tak, jak w lewej asynchronicznej.
W kolejnym pasku następuje jednak
zwrot rotacji i następny blok znajduje
się pod parzystością danego paska, na
tym samym dysku. Ten typ konfiguracji
jest często stosowany w Linux (Tabela
10).
Prawa asynchroniczna
Ta konfiguracja jest odwrotnością
lewej asynchronicznej. Pierwszy dysk
w grupie zawiera parzystość, która
w kolejnych paskach przesuwa się o
jeden, w stosunku do grupy, w kolejnych
paskach (Tabela 11).
Tabela 5.
RAID 2
1
2
3
4
ECC (1-4)
ECC (1-4)
ECC (1-4)
5
6
7
8
ECC (5-8)
ECC (5-8)
ECC (5-8)
9
10
11
12
ECC (9-12)
ECC (9-12)
ECC (9-12)
Dysk 1
Dysk 2
Dysk 3
Dysk 4
Tabela 3.
RAID 0 – striping
1
2
3
4
5
6
Dysk 1
Dysk 2
Tabela 4.
RAID 1 – mirroring
1
1’
2
2’
3
3’
Dysk 1
Dysk 2
Tabela 2.
Algorytm XOR
D1
D2
P(XOR)
0
0
0
0
1
1
1
0
1
1
1
0
BEZPIECZNA FIRMA
72
HAKIN9 12/2009
ODBUDOWA MACIERZY RAID
73
HAKIN9
12/2009
Prawa synchroniczna
W tej konfiguracji bloki są numerowane
kolejno, zaczynając od pierwszego za
parzystością, która jest pierwsza w
grupie. W następnym pasku następuje
zwrot bloków danych. Parzystość
przesuwa się po kolejnych dyskach z
grupy (Tabela 12).
Odbudowa macierzy
Ustalenie typu macierzy jest
możliwe już na podstawie ilości
zaangażowanych dysków (przy
założeniu kompletności grupy).
Każda konfiguracja powyżej RAID 1
wymaga co najmniej trzech dysków.
W przypadku większej ilości dysków,
co do zasady, możemy wykluczyć
RAID 2,3,4, gdyż są niezmiernie rzadko
stosowane. Generalnie będziemy
mieć zawsze do czynienia z RAID 0,
1 lub 5. Ustalenie typu konfiguracji i
kolejności dysków będzie wymagało
zastosowania edytora HEX. Wszystkie
programy śledcze, a także R-Studio
zastosowany w tym artykule mają
wbudowaną taką możliwość. Warto
również pamiętać o podstawowej
zasadzie informatyki śledczej
– wszelkie operacje należy wykonywać
na kopiach nośników oryginalnych,
najlepiej poprzez bloker (urządzenie
uniemożliwiające zapis na dysku, a
pozwalające zarazem na normalny
odczyt).
Po zamontowaniu dysków lub ich
kopii binarnych w programie R-Studio,
za pomocą edytora HEX w pierwszej
kolejności należy ustalić i odnotować,
na którym dysku z grupy znajduje
się MBR (Master Boot Record). Ta
charakterystyczna struktura zawiera
w sobie tablicę partycji i dosyć łatwo
odróżnić ją od innych sektorów.
SCR: Master Boot Record
MBR jest bezwzględnym sektorem
zerowym odbudowanej macierzy. Jeżeli
macierz złożona jest z dwóch dysków,
to na tym etapie możemy potwierdzić
czy dana konfiguracja nie stanowi
RAID 1 (Mirroring), sprawdzając jakie
dane znajdują się w np. sektorach
0, 100, 200, 500, 1000, na każdym z
dysków. Jeżeli zawartość sektorów jest
identyczna to mamy do czynienia z
RAID 1. W przypadku, gdy sektory nie
powtarzają się, to będzie to RAID 0
(Striping).
W macierzach softwarowych
MBR może nie występować, gdyż
RAID może być wolumenem. W takim
wypadku zamiast MBR wystąpi VBR
(Volume Boot Record), będący również
charakterystycznym obiektem na
dysku.
Tabela 8.
Podsumowanie RAID
Poziom
Opis
Minimalna ilość
dysków
Rekonstrukcja Uwagi
RAID O
Striping – dane są podzielone na bloki
rozłożone na poszczególnych dyskach.
2
Wymagane są
wszystkie dyski.
RAID 1
Mirroring – dyski w parach przechowują
te same dane.
2
Jeden dysk
z pary.
W przypadku awarii macierzy dane na
dyskach w parze mogą się różnić.
RAID 2
Dane są podzielone na poziomie
bitowym i rozłożone na poszczególnych
dyskach. Dodatkowe dyski na
parzystość.
3
Wyłącznie dyski
z danymi.
W przypadku awarii jednego z dysków
zarówno dane, jak i kody Hamminga,
można odbudować na podstawie
pozostałych dysków.
RAID 3
Dane są podzielone na poziomie
bitowym i rozłożone na poszczególnych
dyskach. Dodatkowy dysk na parzystość.
3
Wyłącznie dyski
z danymi.
Dane można odbudować, jeśli jeden
z dysków jest uszkodzony, a mamy
dysk z parzystością.
RAID 4
Dane są podzielone na bloki rozłożone
na poszczególnych dyskach. Dodatkowy
dysk na parzystość.
3
Wyłącznie dyski
z danymi.
Dane można odbudować, jeśli jeden
z dysków jest uszkodzony, a mamy
dysk z parzystością.
RAID 5
Dane są podzielone na bloki i wraz
z parzystością są rozłożone na
poszczególnych dyskach (rotacja
parzystości).
3
Wszystkie dyski. Dane można odbudować bez jednego
dysku.
Tabela 6.
RAID 3
1
2
3
XOR 1-3
4
5
6
XOR 4-6
7
8
9
XOR 7-9
Dysk 1
Dysk 2
Dysk 3
Dysk 4
Tabela 7.
RAID 5
1
2
XOR 1-2
3
XOR 3-4
4
XOR 5-6
5
6
Dysk 1
Dysk 2
Dysk 3
BEZPIECZNA FIRMA
74
HAKIN9 12/2009
ODBUDOWA MACIERZY RAID
75
HAKIN9
12/2009
SCR: Volume Boot Record
W większości przypadków wymienione
struktury będą występować w zerowym
sektorze któregoś z dysków z grupy,
przy czym jeśli mamy do czynienia z
RAID 5, to będzie to pierwszy i ostatni
dysk, bez względu na rodzaj rotacji
parzystości. Jedno z wystąpień jest
parzystością XOR pierwszego paska.
Jeżeli na pozostałych dyskach z grupy
ten sam sektor zawiera wyłącznie
HEX 00h, to wpisy te będą identyczne.
Najprostszą metodą rozpoznania
bloku zawierającego parzystość, jest
równoległe porównanie kolejnych
kilku sektorów pod kontem wpisów
ASCI. W bloku XOR, w miejscach
gdzie w odpowiadającym offsecie
danego sektora nie znajduje się HEX
00h, będą zauważalne przekłamania
wynikające z algorytmu parzystości.
Fakt odnalezienia MBR lub VBR tylko na
jednym z dysków w grupie wskazuje, że
możemy mieć do czynienia z RAID 0.
SCR: Charakterystyczne
dla parzystości
przekłamania w bloku
W następnym etapie niezbędne jest
ustalenie długości bloku w pasku dla
danej macierzy. W obrębie całego RAID
blok ma zawsze taką samą długość.
Najczęściej stosowane wielkości to 16,
32, 64 lub 128kB jednak w większości
kontrolerów i rozwiązań softwarowych
istnieje możliwość zmiany tego
parametru w zależności od potrzeb
administratora. Niektóre sprzętowe
kontrolery macierzy pozwalają na
konfigurację bloku o rozmiarze nawet
1024kB. W zaawansowanych metodach
długość bloku w pasku określa się na
podstawie struktur logicznych systemu
plików macierzy, jednak wymaga to
biegłej znajomości tego systemu.
Prosta i niezawodna metoda opiera się
o zapisy ciągów tekstowych ASCI, które
w większości przypadków występują
na dyskach macierzy w postaci logów,
plików tekstowych, baz danych, itd.
Bez względu na typ RAID ciąg taki
będzie miał charakterystyczny urwany
początek i koniec, przy czym całość
ciągu będzie możliwa do złożenia z
poszczególnych bloków zapisanych
na kolejnych dyskach w grupie. Im
Tabela 9.
RAID 5 – Rotacja lewa asynchroniczna
1
2
3
4
P
5
6
7
P
8
9
10
P
11
12
13
P
14
15
16
P
17
18
19
20
21
22
23
24
P
Dysk 1
Dysk 2
Dysk 3
Dysk 4
Dysk 5
Tabela 10.
RAID 5 – Rotacja lewa synchroniczna
1
2
3
4
P
6
7
8
P
5
11
12
P
9
10
16
P
13
14
15
P
17
18
19
20
21
22
23
24
P
Dysk 1
Dysk 2
Dysk 3
Dysk 4
Dysk 5
Tabela 11.
RAID 5 – Rotacja prawa asynchroniczna
P
1
2
3
4
5
P
6
7
8
9
10
P
11
12
13
14
15
P
16
17
18
19
20
P
P
21
22
23
24
Dysk 1
Dysk 2
Dysk 3
Dysk 4
Dysk 5
Tabela 12.
RAID 5 – Rotacja prawa synchroniczna
P
1
2
3
4
8
P
5
6
7
11
12
P
9
10
14
15
16
P
13
17
18
19
20
P
P
21
22
23
24
Dysk 1
Dysk 2
Dysk 3
Dysk 4
Dysk 5
Tabela 13.
RAID 5 – Kolejność bloków wynikająca z analizy przykładów
Pasek (Sec)
Dysk 1
Dysk 2
Dysk 3
1024-1055
1
P
2
1056-1087
P
3
4
1088-1119
5
6
P
BEZPIECZNA FIRMA
74
HAKIN9 12/2009
ODBUDOWA MACIERZY RAID
75
HAKIN9
12/2009
dłuższy ciąg, tym ustalenie konfiguracji macierzy jest
łatwiejsze. Blok parzystości będzie przy tym zawierał
charakterystyczne przekłamania lub będzie całkowicie
nieczytelny, dlatego dosyć łatwo go odróżnić od bloków
danych.
SCR: Widok początku paska
poprzedzonego parzystością
Długość bloku jest odległością między sektorami, w
których widoczny jest przeskok, ustaloną w kilobajtach
(jeden sektor ma 512 batów). Wielkość ta musi być
potęgą liczby 2. Ustalenie konfiguracji wymaga złożenia
na papierze co najmniej kilku pasków. Pozwoli to ustalić
kolejność bloków w pasku, a w przypadku RAID 5, również
rotację w grupie. W poniższym przykładzie przedstawiono
sposób zapisu pomocny w analizie konfiguracji w grupie
trzech dysków. Lewa asynchroniczna została ustalona na
podstawie sześciu bloków, przy czym długość bloku w
pasku, wynosi 32 sektory (16kB) na każdy blok.
Rozbudowując powyższą tabelkę możemy ustalić
kolejność z większą pewnością oraz potwierdzić
wnioskowanie na temat: który z dysków w grupie jest
pierwszym dyskiem.
Poprawna analiza pozwoli następnie na złożenie
macierzy. Dosyć duże możliwości w tym zakresie oferuje
program R-Studio. Pozwala on na odbudowę większości
podstawowych konfiguracji, również w sytuacji, w których
jeden z dysków RAID 5 jest uszkodzony.
Aby umożliwić rekonstrukcje RAID w programie R-
Studio należy utworzyć wirtualny set RAID (Create\Create
Rysunek 3.
Volume Boot Record
R
E
K
L
A
M
A
BEZPIECZNA FIRMA
76
HAKIN9 12/2009
Virtual Block Raid), a następnie w
oknie Virtual Block dodać grupę
wcześniej zamontowanych dysków lub
obrazów binarnych dysków z macierzy,
zgodnie z ustaloną kolejnością. W
oknie konfiguracji należy ustawić
opcje, RAID Type : RAID 5, Block size :
ustaloną na podstawie analizy (w
powyższym przykładzie – 16kB), Block
order : ustaloną na podstawie analizy
(w powyższym przykładzie – Left
Asynchronous (Contignous)). Number
of rows : standardowo, zgodnie z
ilością dysków w grupie. Przycisk Apply
ustawia żądaną konfigurację (Tabela
13).
SCR: Widok okna R-Stiudio
z odbudowaną macierzą
Jeżeli ustalona konfiguracja jest
poprawna, a w szczególności pierwszy
dysk w grupie jest właściwy, to program
rozpozna istniejące na macierzy
wolumeny i wyświetli je poniżej Virtual
Block Raid. Również dostęp do danych
będzie możliwy bezpośrednio po
wybraniu wolumenu. W przeciwnym
wypadku, zakładając, że macierz nie
była uszkodzona, program zażąda
przeprowadzenia skanowania lub w
trakcie otwierania wolumenu pojawią
się błędy check consistency. W
takim wypadku należy zweryfikować
poprawność wyprowadzonych
wniosków i ponownie sprawdzić
konfigurację.
Podsumowanie
Przedstawiona w niniejszym artykule
metodologia odbudowy RAID jest
przydatna w większości przypadków,
w których nie ma innej możliwości
ustalenia konfiguracji, jak na przykład
sprawdzenie ustawień kontrolera
macierzy. Metoda ta jednak może
okazać się zawodna w sprawach,
gdzie na dyskach w grupie nie
znajdują się jakiekolwiek pliki tekstowe
o długości odpowiedniej dla ustalenia
długości i kolejności bloków. Sprawa
komplikuje się jeszcze bardziej w
przypadku źródeł zaszyfrowanych.
Wówczas odbudowa wymaga
bardzo zaawansowanej wiedzy, gdyż
również struktury logiczne systemu
plików nie są dostępne. Warto także
zwrócić uwagę, że niektóre typy
kontrolerów wprowadzają własne
modyfikacje do standardowych
organizacji RAID, zmieniając
W Sieci
• www.iis.pl/forum,
• www.mediarecovery.pl,
• www.encase.com.
Przemysław Krejza
Dyrektor ds. badań i rozwoju w Mediarecovery, największej polskiej firmie zajmującej się informatyką śledczą.
Prawnik, informatyk. Wcześniej 8 lat na stanowiskach zarządzania działem odzyskiwania danych. Autor
publikacji na tematy związane informatyką śledczą i odzyskiwaniem danych. Prelegent wielu konferencji
i seminariów. Od kilku miesięcy prezes Stowarzyszenia Instytut Informatyki Śledczej. Kontakt z autorem:
biuro@mediarecovery.pl.
Rysunek 5.
Widok początku paska poprzedzonego parzystością
Rysunek 4.
Widok okna R-Stiudio z odbudowaną macierzą
rotację w ramach grup pasków lub
rezerwując przestrzenie, które nie są
wykorzystywane do alokacji danych. W
takich wypadkach niezbędna będzie
pomoc specjalistów. Postępując
jednak zgodnie z zasadami
informatyki śledczej – działając na
kopii nośników oryginalnych – nie
ma niebezpieczeństwa uszkodzenia
źródeł.