使用nbd设备挂载镜像进行内容修改




Centos系列发行版默认没有编译nbd内核模块,需要手工编译后加载上才可以使用。在这一点上还是Debian/Ubuntu系列好用。

加载nbd模块方法:

1. 确认内核版本号,执行命令:uname -r
3.10.0-327.el7.x86_64
只支持上述内核版本,其他未验证

2. 拷贝nbd.ko到/lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/block目录下,nbd.ko下载地址:nbd.ko.zip

3. 执行命令:depmod -a

4. 加载nbd模块:modprobe nbd

5. 确认nbd加载成功:ls /dev/nbd*可以看到nbd设备,lsmod|grep nbd可以看到内核模块

附1. 编译nbd模块方法:

参考https://www.ljjjustin.xyz/2016/12/07/compile-nbd-module-on-centos7文章中kernel-devel源码包下载链接已失效,kernel-devel源码包下载链接:wget ftp://ftp.icm.edu.pl/vol/rzm6/linux-slc/centos/7.1.1503/updates/Source/SPackages/kernel-3.10.0-327.el7.src.rpm

附2. 使用nbd设备挂载镜像分区方法:

 

2018-11-15更新

在Centos7.5上编译可能报错:
Makefile:901: "Cannot use CONFIG_STACK_VALIDATION, please install libelf-dev or elfutils-libelf-devel"
No rule to make target `tools/objtool/objtool'
可参考:https://blog.csdn.net/miaodichiyou/article/details/76050361