Debian
無法在 Debian 上刪除或解除安裝循環設備
我有一個循環設備,當我這樣做時會
losetup --all
顯示我無法刪除。因此,我基本上陷入了這個問題,因為我創建了 microSD 卡的原始映像,然後我用來
kpartx
掛載映像中包含的分區。我最初用於掛載映像和分區的命令如下:-
user@server:~$ sudo kpartx -arsv '/path/to/microsd.img'; add map loop1p1 (254:12): 0 819168 linear 7:14 32 add map loop1p2 (254:13): 0 29351936 linear 7:14 819200 user@server:~$ sudo mount /dev/mapper/loop1p2 /mnt/sdimage1p2; user@server:~$ ls -alh /mnt/sdimage1p2;
由於這只是一個測試,然後我想解除安裝刪除循環設備,所以我執行了以下命令,我嘗試以不同的順序執行它們,看看我的排序是否有問題。
sudo umount /mnt/sdimage1p2; sudo dmsetup info; sudo losetup --detach /dev/mapper/loop1p1; sudo losetup --detach /dev/mapper/loop1p2; sudo losetup --detach /dev/mapper/loop1; sudo dmsetup remove /dev/mapper/loop1p1; sudo dmsetup remove /dev/mapper/loop1p2; sudo kpartx -dsv '/path/to/microsd.img'; sudo losetup --all;
也
dmsetup info
返回no devices found
。但
losetup --all
返回以下內容:-/dev/loop1: [2082]:1809010 (/path/to/microsd.img)
我還嘗試了以下不返回任何內容的命令。
fuser -c /dev/loop1; fuser -f /dev/loop1;
我也試過
lsof | grep loop
這會返回下面的輸出。loop1 10693 root cwd DIR 8,2 4096 2 / loop1 10693 root rtd DIR 8,2 4096 2 / loop1 10693 root txt unknown /proc/10693/exe
但是我不確定如何處理上述資訊,我確實嘗試
kill -9 10693
過但沒有奏效,PID10693
確實出現在htop
.user@server:~$ ps -fp 10693 UID PID PPID C STIME TTY TIME CMD root 10693 2 0 08:17 ? 00:00:00 [loop1]
由於 PPID 是 2,這個程序 10693 是一個核心程序,這就解釋了為什麼你
kill -9
沒有工作。你說你試過了
sudo losetup --detach /dev/mapper/loop1
。這幾乎是但不完全正確:試試吧sudo losetup -d /dev/loop1
。但它僅在分區循環設備已被刪除後才有效,因此如果您在sudo losetup --detach /dev/mapper/loop1p*
命令之前嘗試它,它會失敗。實現移除循環設備的最少命令可能類似於:
sudo umount /mnt/sdimage1p2 sudo kpartx -d /dev/loop1 sudo losetup -d /dev/loop1
完全按照這個順序。