深入解析設定磁碟寫保護

2021-06-08 04:57:31 字數 1614 閱讀 2977

原來很多u盤有寫保護開關,現在大多數沒有了,usb硬碟也大都沒有這個開關。不過現在的windows7下要設定移動盤唯讀也方便,原理就是利用系統內建的diskpart命令。

一、使用內建的diskpart命令。

現在很多人也想設定行動硬碟寫保護以防止病毒,其實diskpart命令提供了這個功能

插上移動盤,在diskpart命令列下:

list vol

察看磁碟列表,假設要設寫保護的磁碟的第乙個分割槽是h,用命令選中磁碟:

select vol h

然後設定寫保護:

att vol set readonly

好了,這樣這個行動硬碟就寫保護了,插到其他電腦上依舊寫保護。當然這樣操作也可以設定內建硬碟為寫保護。

如果想去掉寫保護,在diskpart下:

select vol h

att vol clear readonly

二、使用波特爾系統工具。

為了使用簡單方便,波特爾系統工具有了這樣的功能,只有按乙個按鈕就行了。如果你安裝了vista以上的作業系統,直接執行usbwdsk.exe綠色

軟體:

圖blog.sina.com.cn/s/blog_638b649a0100joeb.html。

三、幾點說明

1、只有2003 sp2以上版本的diskpart支援這樣操作(vista/win7的diskpart完全支援),xp的diskpart不支援。但在高版本的diskpart完後,在xp下寫保護也是有效。

2、如果是gpt(動態)分割槽表的磁碟,支援每個分割槽單獨設定寫保護,但作業系統在動態分割槽不能啟動,所以不常用。

四、深度解析

微軟在卷管理驅動中實現了磁碟的唯讀屬性。在ddk中,透露了下面乙個資料結構:

typedef struct _volume_set_gpt_attributes_information volume_set_gpt_attributes_information, *pvolume_set_gpt_attributes_information;

#endif  // ntddi_version >= ntddi_winxp

其中gptattributes是文件化了的,有下列四項屬性。只是這個名稱有意思,可能微軟原來只是打算在gpt卷中才支援這個屬性。

gpt_basic_data_attribute_read_only

gpt_basic_data_attribute_shadow_copy

gpt_basic_data_attribute_hidden

gpt_basic_data_attribute_no_drive_letter。

該函式在reactos開源專案中未實現。

個人瞎猜,由於傳統卷中,微軟開始沒有考慮實現唯讀屬性,有沒有保留多餘的標記位,因此,只好實現全盤的唯讀,但是mbr也沒有預留標記位,因此只好將標記資訊寫入「不用」的保留磁碟扇區,這似乎不像微軟的一貫傳統。

這個資料結構有ntddi_version >= ntddi_winxp這樣一句,表示必須要xp以上nt作業系統支援,因此,使用上述方法標記唯讀的磁碟,只是在xp以上的nt系統有效,對於windows2000,linux等系統無效,對於繞過卷管理驅動的寫比如 ghost32也無效。

如何解決磁碟有寫保護保護

今天把資料寫入隨身碟時,才寫入到一半突然就跳出 媒體有寫保護保護 的警告視窗,連格式化都無法解決。磁碟裡的檔案無法編輯 複製和剪下。怎麼回事?以上是客戶發來的隨身碟接入電腦,結果卻提示有寫保護保護的問題。其實,大多數這個提示是由於有些隨身碟上有寫保護開關被開啟了,導致磁碟被寫保護。此時,我們關閉這個...

Winxp U盤無法複製磁碟寫保護解決辦法

相信很多人在使用移動儲存裝置,如u盤 行動硬碟時,曾遇上把u盤 行動硬碟插上電腦後,突然不能複製了,提示磁碟被寫保護,請去掉寫保護或使用另一張磁碟的這一棘手問題。圖1這時可能鬱悶了半天,u盤明明前幾天還好好的,怎麼會突然不能用了呢?難道是中了病毒?或是壞了?用防毒軟體全盤查殺卻沒殺出個東西出來,排除...

請確定磁碟未滿或未被寫保護且檔案未被使用

今天在修改乙個資料夾名的時候報 請確定磁碟未滿或未被寫保護且檔案未被使用 的錯誤,在網上查了下,大概有如下幾種解決方式,記下來,以供分享給大家。原因一般有幾種 一 你需要刪除的檔案,其程式正在使用 退出該程式,即可刪除 二 作業系統檔案。如果刪除檔案時有提示 請確定磁碟未滿或未被使用 解決方法有二 ...