Linux 下模擬製作塊裝置並掛載

2022-10-15 21:00:21

Linux 下模擬製作塊裝置並掛載

作者:Grey

原文地址:

部落格園:Linux 下模擬製作塊裝置並掛載

CSDN:Linux 下模擬製作塊裝置並掛載

環境

CentOS-7

下載地址:下載 CentOS-7

Linux 的安裝可以參考:Linux 安裝,快照,克隆

操作步驟

第一步,通過以下命令生成100m的空img檔案,其中dd命令可以用於硬碟的互相拷貝。

dd if=/dev/zero of=mydisk.img bs=1048576 count=100

第二步,使用losetup將磁碟映象檔案虛擬成塊裝置

losetup /dev/loop0 mydisk.img 

第三步,通過mke2fs命令用於建立ext2檔案系統。

mke2fs /dev/loop0

第四步,掛載,首先,建立一個資料夾

mkdir /mnt/myos

然後掛載到這個資料夾

mount -t ext2 /dev/loop0 /mnt/myos

檢視/dev/loop0資訊,它就是一個塊裝置

ll /dev/loop0

繼續完善/mnt/myos目錄,

首先,拷貝 bash 到myos的 bin 目錄中,執行下述兩條命令

mkdir /mnt/myos/bin
cd /mnt/myos && cp /bin/bash ./bin

檢視 bash 需要的依賴

ldd /mnt/myos/bin/bash

顯示如下資訊

 linux-vdso.so.1 =>  (0x00007ffd31dd1000)
 libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f98391cf000)
 libdl.so.2 => /lib64/libdl.so.2 (0x00007f9838fcb000)
 libc.so.6 => /lib64/libc.so.6 (0x00007f9838bfd000)
 /lib64/ld-linux-x86-64.so.2 (0x00007f98393f9000)

模擬 bash 的依賴結構,我們建立好對應的依賴存放目錄

mkdir /mnt/myos/lib64

將系統中 bash 的所有依賴拷貝到這個目錄

cp /lib64/{libtinfo.so.5,libdl.so.2,libc.so.6,ld-linux-x86-64.so.2} /mnt/myos/lib64/

啟動myos下的 bash

cd /mnt/myos
chroot ./

注:chroot 命令是把根目錄換成指定的目的目錄。

使用 echo 和重定向測試 bash

echo "d" > /abc.txt

然後執行

exit

退出 bash ,並在/mnt/myos目錄下,使用 ls 命令,可以檢視到 abc.txt 已經生成,使用

cat /mnt/myos/abc.txt

可以看到剛才通過 bash 寫入的內容

更多

部落格園:Linux 學習筆記

CSDN: Linux 學習筆記