创建lvm的时候出现输入输出错误并且找不到uuid

创建lvm的时候出现输入输出错误并且找不到uuid,第1张

看源程序的结尾:

WriteProcessMemory(hProcess, plvitem, &lvitem, sizeof(LVITEM), NULL)

//向目标程序发送LVM_SETITEMTEXT消息

SendMessage(hwnd, LVM_SETITEMTEXT, (WPARAM)iItem, (LPARAM)plvitem)

注意他发送的是LVM_SETITEMTEXT,那么我们可以使用LVM_GETITEMTEXT或者直接GetWindowText函数.

修改如下:(前面的都一样,不写了)

char szBuffer[MAX_PATH] = ""// 定义缓冲

if (!hwnd)

{

MessageBox(NULL,"[Windows 任务管理器] 尚未启动!","错误!",NULL)

}

else

{

//向目标程序发送LVM_SETITEMTEXT消息

SendMessage(hwnd, LVM_SETITEMTEXT, (WPARAM)iItem, (LPARAM)szBuffer)

// 或者采用这样的方法

GetWindowText(hwnd, szBuffer, MAX_PATH -1)

printf("%s\n", szBuffer)

}

//释放内存

// CloseHandle(hwnd)// 原程序这里是错误的,窗口句柄不需要释放

return 0

}

// Lightning的注解:原程序通过FindWindow函数找到任务管理器中的一个窗口,然后GetWindowThreadProcessId找到所在进程的ID, 再用OpenProcess打开目标进程句柄,如果成功就VirtualAllocEx在目标进程分配内存,将自己要修改的内容写入,然后调用SendMessage函数向目标窗口发送设置字符的消息,将VirtualAllocEx的返回值作为输入缓冲.

设置正确后,VirtualAllocEx分配的内存用VirtualFreeEx释放.

VirtualAlloc在本进程中申请内存,而VirtualAllocEx可以在其它进程中申请内存.

但是如果我们读取的话就不用这么麻烦了.

lvm逻辑卷磁盘管理系统,用来创建分区的时候可以动态调节大小,目的是为了节省磁盘空间,如果总是出错,你可以禁用lvm,分区的时候手动分区,不用lvm 新手只分一个/ 和一个swap区就行了

查看目前磁盘分区情况,系统是安装在一块45G的虚拟磁盘上。安装系统时采用了LVM分区方式。其中/soft空间大小为11G

查看目前虚拟机的磁盘情况,目前虚拟机中有两块硬盘,/dev/sda 45G,/dev/sdb 55G

创建pv ,通过pvcreate命令将磁盘/dev/sdb创建为一个系统PV

# pvcreate /dev/sdb

将 PV /dev/sdb添加到卷组vg_openstack中。参考下图中标记的数据可知,磁盘已经添加到vg_openstack,而且卷组的空间增加了50G

# vgextend vg_openstack /dev/sdb

为/soft 添加30G的空间。图中标记的位置给出了/soft的大小,以及/soft的lv名称为 /dev/vg_openstack/LogVol04

# lvextend -L +30G -n /dev/vg_openstack/LogVol04

逻辑卷扩展后并不会马上生效,需要使用“resize2fs”命令重新加载逻辑卷的大小,图中可知,/soft已经添加30G空间


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7897306.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存