搞it的人都會遇見的問題,特別是有用了公司的筆記本或台式電腦電腦,自己長期在上面儲存了大量的資訊檔案,突然要換機器或離職移交時,除了要把資料備份,還有乙個就是要徹底地刪除原有資料。
一般的做法是格式化硬碟並重灌系統。但格式化時,我們一般都不做低階格式化,而是快速格式化或普通格式化(即高階格式化)。我個人理解快速格式化是標識全部扇區均可用,普通格式化是會掃瞄一下每個扇區,但並不會重寫,因此這兩者都不會徹底清除資料,只是重寫了fat表,資料內容仍在,仍然可以用軟體恢復。如果要徹底清除,則需要把所有扇區重寫一次,全部寫成0或其它隨機值。
因此,比較安全的刪除步驟如下:
1.格式化硬碟;
2.重灌作業系統;
3.把所有扇區重寫入一遍。
據說理論上要真正地防止恢復,需要反覆往乙個磁軌扇區裡寫入隨機資料,並至少寫入6次以上,這樣就連fbi都無法恢復了;否則的話,即使已經重寫過資料,利用專門的裝置,還是有辦法讀出磁碟中殘留的磁訊號,從而恢復出資料來的。
因此,有很多專門做徹底刪除的軟體出現,功能強大,使用也不簡單。其實我們自己要做的話,只要往磁碟裡面拷檔案就行了,寫檔案的過程就會重寫磁軌扇區了。
當然了,乙個個檔案這樣拷貝還是比較麻煩的,一邊讀一邊寫,速度也較慢。像我們這些搞程式設計的,其實自己寫乙個抹除程式也很容易,比如我就寫過乙個,抹除的速度很快。介面如下:
該程式已上傳到這裡:
基本原理就是申請一大片記憶體,填入隨機值,然後大塊大塊地寫磁碟檔案,基本上一分鐘能抹掉幾個g的空間。預設只寫入一次。如果你覺得不夠,可自行把生成的檔案刪除,然後再重新生成多幾次。
go按鈕的**如下:
procedure tfrmmain.btngoclick(sender: tobject);
varfs: tfilestream;
i, j: integer;
bufsize: integer;
buffer: pchar;
sz, szmax, icheck: int64;
fn: string;
begin
i := 0; //初始化
icheck := 0;
bufsize := 1024 * strtointdef(edtbuffersize.text, 1024);
szmax := 1024 * 1024 * strtointdef(edtfilesize.text, 1024);
btngo.enabled := false;
btncancel.enabled := true;
fcanceled := false;
getmem(buffer, bufsize); //申請記憶體
trywhile true do
begin
if ckbrandom.checked then //隨機填充
begin
randomize;
for j := 1 to bufsize do
pchar(buffer)[j] := char(random(256));
end;
sz := 0;
repeat //獲取乙個可用的檔名
inc(i);
fn := format(edtfilename.text, [i]);
until not fileexists(fn);
statusbar1.******text := 'current file: ' + fn;
statusbar1.refresh;
fs := tfilestream.create(fn, fmcreate); //建立檔案並不斷寫入
trywhile sz < szmax do
begin
fs.writebuffer(buffer^, bufsize);
sz := sz + bufsize;
icheck := icheck + bufsize;
if icheck > 30 * 1024 * 1024 then //每寫入30m則更新一下進度並檢查中止
begin
icheck := 0;
statusbar1.******text := 'current file: ' + fn + ' ' + floattostr(sz / 1024 / 1024) + 'mb';
checkabort(' ');
if fcanceled then
abort;
end;
end;
finally
fs.free;
end;
end;
finally
freemem(buffer, bufsize);
btngo.enabled := true;
btncancel.enabled := false;
end;
end;
總共不到100行**,寫入後找個檔案來看一下內容:
可以看到,確實是填充了隨機內容。雖然不是特別隨機,也沒有寫夠6次以上,但已經無法用軟體恢復,對普通人來說已經足夠安全了。
關於如何選購膝上型電腦
一直使用的是macbook pro,很好用,但是最近工作原因,想再購買一台膝上型電腦用於安裝linux系統開發除錯使用。個人覺得,購買者自身的需求和經歷是對膝上型電腦評價差異的主要原因。首先要說明,電子產品同品牌同型號的產品都會有差異的,一般情況下正規廠家出廠時會進行檢測,產品被大概分為合格和次品 ...
如何根據電腦配置選購膝上型電腦?
cpu 擴充套件匯流排速度 前端匯流排,多執行緒 低壓 主頻越高越好,但效能影響不大 intel 賽揚代表的是低端,奔騰是中端,酷睿是高階 amd 閃龍是低端 速龍是中端,翼龍是高階 快取 l1 l2 l3越大越好,l1和l2是主要的 製程工藝 越小越好 核心數 越多越好,但耗電量和發熱量會隨著增加...
如何正確為膝上型電腦電池充電
一些配備鋰離子電池的膝上型電腦,運用了諸如sbs智慧型電池系統的技術,能夠精確地測量電池壽命,所以使用起來要省心一些。雖然鋰離子電池有很多優點,但要延長電池的使用壽命 維持較長時間的供電,還需要掌握一些專業的充電方法。新買回來的鋰離子電池在初次使用時,要進行3次完全的充放電,即電池至少要完全充滿一次...