【已解决】 想要挂载同一硬盘上其它分区 的问题

因为没法弃用win10, 遂多启动安装了FydeOS进硬盘里, 大体配置如下:

CPU: i7-6500U; GPU: HD520核芯显卡;
内存: 24GB(16GB镁光 + 8GB海力士) 1600MHz 1.35v
硬盘1: 东芝RC500固态硬盘(NTFS全盘win10 + EFI分区);
硬盘2: 希捷1TB SSHD(D盘800多GB作为文档和资料储存也是NTFS + 100多GB的ext4的FydeOS分区)

我尝试在子系统里进行fdisk操作

Debian@penguin / $ su - root
password:
Debian@penguin / $ fdisk -l
(这里直接结束了, 没有任何信息)
Debian@penguin / $ partprobe
Debian@penguin / $ /sys/firmware/dmi/tables/smbios_entry_point: Permission denied
/dev/mem: No such file or directory

请问要如何解决?
还有TFM里说须在tty里操作, 我在crostini里面操作是有可能的吗? 亦或是只需要在tty里设置自动挂载即可? 经热心Fyde友 @yutou 提醒需要crosh shell里面fdisk才有效

2 个赞

林林总总使用FydeOS接近两周, Chrome的浏览体验自不必说, 安卓子系统是满意的, 对触屏相关的优化比较优秀, 而crostini更是可圈可点,我在crostini上装了Linux百度盘,LinuxQQ,gimp,wps(fcitx弥补了ChromeOS上游不支持日文键盘(网上冲浪了一下发现上游应该是有的)FydeOS无日文键盘选项的缺陷)还有flowblade和APPimage的shotcut, 用nautilus管理文件挺方便的. 就是剪视频修图弄文档等等会占用不少空间, 仅凭我划给FydeOS的100来G根本不够用哇… 所以想要把同盘上专门用于储存的分区给FydeOS利用上. 还能起到双系统共享文件的作用… 求助求助召唤大神 @alpha @laomo @carrie @Carrie1 @PiktCai @gxj8885718 @shulinbao8 @sixa200

有没有办法让至少crostini里 可以实现常态化(而不是每次需要用的时候都得手动去切换啥 然后挂载啥)挂载我的D盘

呢?

crostini是虚拟机里运行的lxd容器,不能直接访问实体机的分区,只能访问共享的某些目录。你要做分区操作得进入chromium os的shell才行

  • 如你所知,正确的路径是在 crosh shell 挂载,然后共享给 crostini
  • 不推荐挂载大尺寸 NTFS 文件格式的分区。系统会启动一个 ntfs-3g 的进程对该分区进行扫描。目前我们发现在 FydeOS for PC 上该进程有可能出现 CPU hogging 的现象。虽然说 ntfs-3g 会在扫描完成之后自动退出,但是你这个盘尺寸很大,很难能在短时间内完成
  • 挂载大磁盘不是 FydeOS 的正确打开方式,Everything on the web 才是。望周知。

这也是我所深信的未来,但至少现在看起来还没踏入未来。。可能算前夜?workflow全部on Web那想想都很爽啊包括NSFW(x)

更新:现已实现启动时自动挂载我的D盘,不完美(子系统方面)但总算是利用上了。。
关于 α 说的CPU占用bug

刚说完就遇上一次假死了,提醒一下, 自动挂载以后每次刚刚开机的一两分钟内 最好别操作太频繁,特别是一开机就打开“文件”,估计因为我刚开机就直接打开挂载的目录, 这非常容易引起过高的占用导致 整个gui都假死了。。
我暂时没遇上,确实一开始会占用比较高(刚开始读取挂载分区文件列表的时候相关文件管理器的进程的CPU占用飙升, 话说任务管理器CPU那个数字究竟是百分比还是啥?有时会跑到超过100甚至200。。但比 一些不精简的网页 和 crostini容器刚刚启动 吃CPU的程度是差不多的,同样算可以接受的范围。好处就是非常方便,首先储存空间就多了很多 !


警告:warning:这些操作可能会损坏系统(more vulnerable )和丢失数据,操作前请务必对数据进行备份!

点击展开具体操作(步骤来源于引用1)

编辑fstab

  • 1.查看你想挂载的分区

    sudo /sbin/blkid -o full | grep -E "^/dev/sd.*TYPE" | grep -vE "EFI|STATE|ROOT-A"
    

    (已经忽略EFi等系统分区)
    记下你想要开机时自动挂载的分区ID如 /dev/sda1

  • 2.用crosh创建一个在”文件”里能访问的挂载点

    echo /home/$USER/u-$CROS_USER_ID_HASH/MyFiles/Downloads/任何名字
    
  • 3.用vim新建/usr/local/fstab

    sudo vim /usr/local/fstab
    

    把分区ID加在最前面像这样:

    /dev/sda1   /home/chronos/u-910450b5b86edd74333ce14f446ec9c7a44301e0/MyFiles/Downloads/WindowsOS        auto    defaults   0      0
    

    然后按ESC,再按shift + zz保存退出。

复制启动脚本

  • mount-internals.conf下载到 ~/Downloads
  • 让根分区可写
    sudo mount -o rw,remount /
    
  • 复制 mount-internals.conf/etc/init/:
    sudo cp ~/Downloads/mount-internals.conf /etc/init/
    

现在可以安心重启。这个方法理论上能适用于多用户系统。 但一定注意每个用户都有不同的 CROS_USER_ID_HASH ,你必须在你的fstab里根据你的实际情况进行修改。

注意: 挂载的分区不会在子系统(安卓和crostini)上显示!


引用:

  1. https://github.com/MuntashirAkon/Chrome-OS-Multiboot/blob/master/README.MD
  2. 我笔记本分了一个区出来安装,但是不显示其他的分区啊
  3. 希望官方人员看到这条意见:希望FydeOS能够加入是否允许访问外部分区的设置
  4. FydeOS 6.0 bug反馈
  5. surface pro 3 某程序占用CPU过大
  6. 在此次更新的 v8.1 中,我们修复了当系统存在一个可挂载的 NTFS 磁盘时高资源占用的问题。
  7. https://wiki.archlinux.org/index.php/Fstab_(简体中文)
  8. https://wiki.archlinux.org/index.php/NTFS-3G_(简体中文)
1 个赞

再更新:好消息是安卓子系统可以手动挂载分区(包括可插拔设备话说FydeOS能否读取光驱不知道。。一直懒得试),坏消息是crostini(Linux)似乎没有任何办法可以进行挂载。。只能通过“文件”手动一个个文件拖。。


  • 同样进入shell(这只是在我机器上实现的方式, 如果你仅需要在安卓子系统里挂载分区, 可以查看这一层楼的引用1)
    sudo mount --bind /home/chronos/u-910450b5b86edd74333ce14f446ec9c7a44301e0/MyFiles/已经挂载进FydeOS系统的路径 /run/arc/sdcard/default/emulated/0/将要挂载进安卓子系统的路径        
    sudo mount --bind /home/chronos/u-910450b5b86edd74333ce14f446ec9c7a44301e0/MyFiles/已经挂载进FydeOS系统的路径   /run/arc/sdcard/read/emulated/0/将要挂载进安卓子系统的路径    
    sudo mount --bind /home/chronos/u-910450b5b86edd74333ce14f446ec9c7a44301e0/MyFiles/已经挂载进FydeOS系统的路径 /run/arc/sdcard/write/emulated/0/将要挂载进安卓子系统的路径      
    

而Linux子系统因为是lxd,而且crostini应该算比较特殊的lxd,貌似是没有办法挂载上主机的设备的。我试过这些方法(不限于):

  • 直接挂载进penguin的用户目录:

    /home/chronos/u-910450b5b86edd74333ce14f446ec9c7a44301e0/MyFiles/已经挂载进FydeOS系统的路径 /media/fuse/crostini_c221c255ge75bc8he9cy07a0kn39cy766eb169e7_termina_penguin/  auto rw,bind 0 0
    

    在“文件”里能看到“Linux文件”的链接:link:里已经都显示的是需要挂载的分区的文件了,但在crostini里看仍然是原样。

  • 使用lxc.mount.entry和lxc.mount……等命令

    crosh里直接提示没有命令。。好吧放弃了。。


引用:

  1. https://blog.csdn.net/baidu_29649941/article/details/53198943
  2. https://www.ibm.com/developerworks/cn/linux/1404_caojh_lxc/index.html
  3. https://wiki.debian.org/LXC
  4. https://linuxcontainers.org/pt_br/lxc/manpages//man5/lxc.container.conf.5.html

老哥,这个挂在安卓分区的具体是怎么操作的,能不能分享一下,是不是得先用mount命令把分区挂在fydeos 上

这不是必要的,你可以看到我引用的文章

里面就是直接把分区挂在安卓的路径里面。。你可以试试。说实话我也是刚接触挂载啥的一两天而已,不是完全深入了解,细节问题你可以问我二楼召唤的哪些大神。。他们应该都是很会的了(只要他们愿意解答)

老哥,我这机子不支持linux,是不是就没招了。。。

你指的是Linux子系统crostini容器? 挂载的操作跟它没有任何关系, 而且你能从我之前的回复得知crostini其实是没有办法接触到实机的磁盘的, 只能通过某种映射手段访问download文件夹

那个 把[mount-internals.conf ]下载不了。。。 :zipper_mouth_face:,哎,不知道是不是要开vpn

找到了,哎呀,真是一波三折

老哥,我发现只能把其他分区的文件移到fydeos中,无法将fydeos 中的文件转移到其他分区。。。。。。你也是这种情况吗?

你具体是怎么操作的? 你说的这种情况我没遇到, 如果你是直接挂进安卓子系统的话需要注意把 */default/* , */read/* , */write/* ,三个路径都挂上, 我不是很清楚你描述的情况.

就是想把fydeos的文件在那个自带文件app中复制到其他windows分区的盘中,但是复制过去粘贴就说出现错误,只能把其他分区的文件复制到downlod文件中(也就是只能把其他分区的文件复制过来,无法复制过去)

或许你可以看看 /var/log/messages里面怎么描述的这个错误(我不清楚这个错误是否会被记录在里面);
我在写进fstab之前就用mount命令试过挂载, 挂了后看上去基本正常才让它开机自动挂载的;
我的意思是如果你看了log后知道了具体错误但没法解决, 不想要这样半残的挂载, 那就再去编辑fstab删掉挂载的那行即可

行吧,我试试,谢谢老哥

请问怎么挂载安卓子系统的系统分区