我在debian论坛上也有一个帖子,但是它的流量似乎比这里少,所以我想我也应该在这里试试运气。
我试图使用UEFI和GPT在伪造的基础上安装windows 10和debian以及可能更多的发行版。因此,我遵循本指南,使用dmraid可以成功地进行分区和安装。分区如下所示:
/dev/mapper/isw_dagfijbabd_RAID0SYS
|- Microsoft Recovery
|- EFI / boot
|- Microsoft MRS
|- Windows
|- swap
|- LVM PV
\
|-- VG0
\
|--- LV OS_2
|--- LV debian
|--- LV home问题是grub在为内核设置根时似乎没有看到raid。我得到了这个错误
modprobe: module dm-raid45 not found in module.dep
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/VG0-debian does not exist.
modprobe: module ehci-orion not found in modules.dep除了实际为grub设置根之外,我还可以使用进入系统,而不是debian救援模式,并完成安装步骤。
据我所知,这似乎是grub没有正确使用mdadm或根本没有正确使用mdadm的问题。所以我需要以某种方式编辑initramfs,对吧?但这是怎么回事呢?我已经成功地挂载了initramfs,使用类似于ducea.com的指南。但我该怎么继续呢?
# All work is done in a temporary directory
mkdir /tmp/initrdmount
# Copy the image, uncompress it
cp /boot/initrd.img-2.6.15-1-686-smp /tmp/initrd.img.gz
gunzip -v /tmp/initrd.img.gz
# Extract the content of the cpio archive
cd /tmp/initrdmount
cpio -i < /tmp/initrd.img编辑:我还将添加从initramfs shell收集的一些信息:
# this depends ofc on whether I use dmraid or mdadm for kernel boot
(initramfs) cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-3.16.0.4-amd64 root=/dev/mapper/VG0-debian ro {dmraid/mdadm}=true
(initramfs) cat /proc/mdstat # returns nothing
(initramfs) cat /etc/mdadm/mdadm.conf
ARRAY metadata=imsm UUID=xxxx:xxxx:xxxx:xxxx
ARRAY /dev/md/isw_dagfijbabd_RAID0SYS container=xxxxxxxxxxxxxxxx member=0 UUID=xxxxxx:xxxxxx:xxxxxx:xxxxxx
ARRAY /dev/md/isw_dagfijbabd_RAID0RST container=xxxxxxxxxxxxxxxx member=1 UUID=xxxxxx:xxxxxx:xxxxxx:xxxxxx
(initramfs) ls /dev/mapper/
control isw_dagfijbabd_RAID0RST isw_dagfijbabd_RAID0SYS
(initramfs) lvm pvs # returns nothing无论我在内核引导行中使用dmraid还是mdadm,这个输出实际上都是相同的。我意识到,我可以在/sbin中找到mdadm,并且RAID0磁盘isw_dagfijbabd_RAID0SYS / dm-0被检测到,但没有检测到它的内容。
我想知道是否有什么干扰dmraid和mdadm。我应该从initramfs中删除dmraid吗?
发布于 2017-01-29 12:18:08
我终于找到了一种方法,但不使用fakeraid (sataraid)和RAID0。相反,我禁用了bios raid,并将其设置为AHCI。
然后,我使用Ubuntu擦除驱动器,并为windows创建了一个空分区,然后在第一个磁盘中创建了一个交换分区。我这样做是因为它总是抱怨windows table。然后,我像往常一样安装了窗口。
然后,我在linux安装程序中使用LVM分区来创建两个物理卷(PV),一个位于我放置窗口的驱动器上的剩余空间,另一个占用第二个驱动器的全部空间。然后,我创建了一个包含这两个物理卷的单一卷组(VG)。然后我可以使用LV来创建我想要的分区。
我就是这样做的
HDD 1 HDD 2
================================ ===============================
|| Windows | Swap | PV 1 || || PV 2 ||
|| (boot/EFI) | | || || ||
================================ ===============================
| |
V V
------------------------------------------------
| Volume Group 0 |
------------------------------------------------
| | | |
V V V V
-------- -------- --------------- --------
| Lv1 | | Lv2 | | LV3 | | |
| Fedora | | Debian | | Home | | Unused |
| 20 GB | | 20 GB | | ~100 GB | | |
-------- -------- --------------- -------- 我不是这些方面的专家,我也不知道这将如何影响性能与RADI0。但它提供相同的功能,而不干扰窗口。默认情况下,至少由Fedora、Debian和Ubuntu安装程序检测到LVM分区,并且GRUB是开箱即用的。
我不知道这是否是常识,我只是迟到了党(但我仍然没有恢复,甚至在任何一个论坛的评论,所以也许不是那么愚蠢)。不管怎么说,我只是想把这个分享给和我一样有困难的人。我强烈推荐这种设置,而不是花费无数个小时试图找出伪造的dualboot。
https://unix.stackexchange.com/questions/340782
复制相似问题