新硬碟掛載目錄後檔案消失解決辦法

2022-07-20 00:36:26 字數 953 閱讀 1486

來自:

專案初期使用者檔案較少,全部儲存在/home目錄下,/home目錄沒有單獨劃開分割槽,隨著專案**做大,使用者檔案越來越多,/home目錄不夠空間,想掛載乙個新硬碟來負責儲存

但發現新掛載/home到新硬碟時,/home原來資料變空了,這個原因是由於linux的vfs(虛擬檔案系統)機制導致的,正常登入以後,所看到的各個目錄,檔案都是核心在載入時候構造在記憶體中的vfs目錄樹,而不是直接看到硬碟上的實際目錄樹。當你掛載某個裝置到乙個vfs掛載點上時(比如/home),系統就把vfs中的這個掛載點/home指向你最後所掛載的那個裝置上。那麼你現在訪問該掛載點時,就會看到你最後掛載在此處的裝置。而之前所掛載的裝置依然在那裡,只不過掛載點/home已經不再指向之前的裝置。所以之前的資料是被隱藏了,但並沒有刪除,若umount掛載後,資料又重新回來了

基於這種情況,只能通過跳板的方式把原來的/home資料複製到新的/home分割槽下了 ,如何新增新硬碟,請查詢相關資料

mkdir /new  ###跳板目錄

mount /dev/sdb1 /new  ###首先掛載跳板目錄

cp -r /home/*  /new  ###複製/home目錄所有資料到/new先

rm -rf /home/*       ####可選,主要為了騰出空間給原來的硬碟

mount /dev/sdb1 /home ###掛載/home 到新硬碟,此時你會神奇的發現之前的/home目錄檔案已經全部轉移過來了,也許你會有點疑問,我並沒有複製或移動/new檔案到新掛載的/home目錄啊,其實此時的/home目錄相當於/new目錄的硬鏈結,可以測試下mkdir /new/test 你會發現/home目錄也存在test

umount /new ###解除掛載

rm -rf /new ###刪除跳板目錄

echo  "/dev/sdb1  /home    ext3    defaults    0 0" >> /etc/fstab ###開機啟動掛載目錄

linux掛載新硬碟至任意目錄

實驗環境 1.linux debian 4.19.0 5 amd64 1 smp debian 4.19.37 5 deb10u2 2019 08 08 x86 64 gnu linux 2.oracle vm virtualbox 6.0.10 3.debian10 本次實驗將向已經安裝好debi...

ubuntu掛載新硬碟到指定目錄下

前提 硬碟已經安裝,工作正常,這個要確認好 檢視新硬碟的編號 1.可以通過在ubuntu中搜尋disk找到磁碟程式,通過此程式檢視硬碟資訊,在這裡也可以方便的掛載 解除安裝硬碟 2.通過在終端中輸入 ls dev sd 檢視硬碟資訊 進入硬碟 通過命令 sudo fdisk dev sdxn xn對...

Ubuntu新增新硬碟,掛載到根目錄下的某個檔案中

今天重灌了伺服器,有三塊硬碟,其中固態用於裝系統檔案,第二塊機械盤掛載到 home。這都是在安裝過程中完成了,就是分割槽的那個介面中完成的。第三塊盤需要自己設定一下。設定方法如下 sudo fdisk l檢視新盤的名稱,我的是sdc,c代表是第三塊。disk dev sdc 3.7 tib,4000...