C++ 如何确定操作系统(Linux)是从哪个块设备运行的

C++ 如何确定操作系统(Linux)是从哪个块设备运行的,c++,c,linux,C++,C,Linux,我有一个系统,它有一套自加密驱动器(SED),每个驱动器上都安装了操作系统(一个是Ubuntu,另一个是CentOS,其余都是空白)。我正在尝试编写一个应用程序,允许我使用TCG安全命令“锁定/解锁”驱动器。因此,当我在ubuntu中时,我锁定所有其他驱动器;当我在CentOS时,我会锁定Ubuntu操作系统磁盘 我现在的问题是,在Ubuntu上,我如何确定当前运行的内核是从哪个磁盘(sda/sdb/sdc???)获取的。它需要是一个通用的逻辑,以便该技术适用于ubuntu/ubuntu安装对,

我有一个系统,它有一套自加密驱动器(SED),每个驱动器上都安装了操作系统(一个是Ubuntu,另一个是CentOS,其余都是空白)。我正在尝试编写一个应用程序,允许我使用TCG安全命令“锁定/解锁”驱动器。因此,当我在ubuntu中时,我锁定所有其他驱动器;当我在CentOS时,我会锁定Ubuntu操作系统磁盘

我现在的问题是,在Ubuntu上,我如何确定当前运行的内核是从哪个磁盘(sda/sdb/sdc???)获取的。它需要是一个通用的逻辑,以便该技术适用于ubuntu/ubuntu安装对,因此仅仅检测centOS分区是没有帮助的


任何帮助都将不胜感激

请记住,引导加载程序可以放在一个磁盘上,内核可以放在另一个磁盘上,根文件系统可以放在第三个磁盘上。请记住,引导加载程序可以放在一个磁盘上,内核可以放在另一个磁盘上,根文件系统可以放在第三个磁盘上。