在Linux上執行rm -rf操作會導致設備永久變磚嗎?

在Cnbeta上看到這樣一則新聞:在Linux筆記本上執行這句命令就能導致設備永久變磚_Linux_cnBeta.COM

大概講的是在Linux中以root執行rm -rf -no-preserve-root /命令後就徹底無法啟動了,我對Linux不是很了解,但知道這個命令會刪除根目錄(包括EFI分區)下的全部文件,當然不能啟動。不過該文章中特別提到了MSI筆記本經過這個命令後會正式變磚,不可修復。GitHub上也曾發起討論:開發者表示EFI啟動數據的目錄不應該是完全可寫的。運行一句命令就能讓硬體變磚這原本就是不合理的。

之前還看到過百度知道上這樣的提問作死,在手機上玩命令「rm -rf --no-preserve-root /」(在root下用最高,答主一致表示這樣只能換主板,連線刷模式都救不了。

我知道EFI啟動時會經過SEC-PEI-DXE-BDS-TSL這五個階段。PEI階段會載入EFI驅動(能否理解為Bootloader),BDS階段掃描ESP分區內容,顯示開機管理界面選擇啟動路徑。但問題是除了TSL階段已經移交操作系統,啟動的前四個階段應該都是由主板上的EEPROM和FLASH來存儲的。即使不接硬碟,也應該可以啟動主板上自帶的EFI BIOS等應用。前文鏈接里在Linux中執行rm -rf命令只能刪除掛載磁碟的內容,怎麼就能讓電腦無法啟動無法修復呢?同理,安卓手機雖然不是採用EFI模式啟動,但操作系統損壞後通過Bootloader模式線刷底包時,Bootloader應該也是存儲在手機主板上Flash中的固化程序,也應該不會因為rm -rf就被刪掉而失效的。

看新聞也不像文科生小編寫的,想請教新聞中的一條rm -rf -no-preserve-root 命令真的可以讓設備永久變磚嗎。


會,但是(我懶得看文章)出事的是 efivars 不是 efi 分區。

efivars 是對於 EFI NVRAM 抽象成的文件系統,某著名引導程序默認掛載的時候用的是讀寫模式。esp 分區在硬碟上,efivars 在主板上。更新:efivars 還順便抽象了 EEPROM,所以刪的時候也順便清空了…… @imbushuo

全刪了的話主板那塊 NVRAM 都空了,如果你的主板生產商沒想到這件事的話那的確是開機不了的。EEPROM 空了更沒救。

所以啊,你們不要以為 rm 刪除的是磁碟。rm 這一發刪除的是所有從 / 可以一路下去碰到的文件系統裡面的所有的東西啊…


既然有人問這個問題,好,我就讓你看看什麼叫從刪庫到跑路。。。。

可以看到,現在連開reboot,init 0/6 這樣的命令都執行不了了,也就是說,連開關機都不行了。。。。。。。


一般不會特殊情況會,文中都說了:「一般並不會產生什麼硬體的破壞性結果。但在MSI的筆記本上, 運行這條命令有可能導致徹底清除EFI引導分區。」

硬體的firmware之類的固件信息在之類的信息os中只要不會被寫被損壞就不會變磚只是系統會崩,特殊情況下一些硬體本身配置信息在os下可寫被刪除了肯定就成磚了。


本來只是個案,

到那些新聞里就變成必然事件了,

archlinux論壇的這個帖子已經消失了,

那個樓主還在2月1號發了另一個正常的問題帖子,

也許只是個誤會,

Running "rm -rf a€「no-preserve-root /" Command In Linux Can Kill Some Laptops Permanently

原文提到已經umount所有除了/,

也就是說不是下面我說的1,

-------------------------

看你怎麼理解"變磚"了,

1,

很多發行版下,

efi分區都掛載在/boot/efi,

rm有可能在當機前把這個目錄清空了,

efi分區清空了自然無法引導進系統,

就算電腦同時裝有其他系統也通通進不了,

但這隻影響硬碟,

用Linux的應該不至於處理不了一個引導分區,

2,

路徑忘了,

也許就在/sys/firmware/efi/efivars附近,

反正有這麼個地方,

存的是efi引導記錄,

就是主板的boot選項,

就是efibootmgr查詢的地方,

不清楚叫什麼,但是存的是記錄在主板上的東西,

這附近的東西亂刪可能就比較嚴重了,

但是好像正常是沒有目錄的寫許可權的,

到底會怎樣我也沒敢試過,

如果個人沒有辦法重新寫入,

大概就只能返廠換主板吧,


有許可權 且 在根目錄 執行才會


推薦閱讀:

為什麼許多EDA工具(如Cadence 和Synopsys)只有Linux版本?
*nix系統中, /tmp文件夾里的文件, 會佔用系統內存嗎?
usb的端點是什麼?
Unix的內存分配方式是否有缺點,能否改進?
PV、TPS、QPS是怎麼計算出來的?

TAG:Linux | 筆記本電腦 | UEFI | EFI | 開機啟動 |