遷移 home目錄至新硬碟分割槽總結 無備份情況下

2022-09-13 06:45:10 字數 2683 閱讀 3983

搞了一天,終於成功遷移。由於一開始就沒備份過程實在很曲折。

希望本篇對那些沒有備份習慣的朋友們有所幫助。

準備工作:

sudo vim /etc/fstab

在檔案中加入:

/dev/sdb8       /home            ext4    user,rw 0       2

這裡其實有問題的,後面會提到

乙個新的linux分割槽,這裡我的新分割槽是sdb8,個人不盡相同。我用的是ext4格式,注意要新的,不要有壞塊,最好重新格式化下。我就是因為沒格式化,吃過虧,logo介面就提示掛載出錯,真心寒。

果斷進入 ctrl +alt + f1,命令列模式,執行mount -a , 系統會提示輸入乙個指令,我輸入這個指令後,發現有壞塊,果斷格式化

怎麼格式化,這裡不詳細講解了。用命令mkfs就可以,保險起見,我還用了sudo fdisk /dev/sdb檢視了分割槽表情況,也正常。

那麼接下來將詳細講述本文重點部分,就是不備份情況如何成功遷移/home至新分割槽

格式化完畢,分區別也正常,那麼重啟。然後問題來了:無法登入桌面。一直要你輸入密碼,密碼沒有問題,因為tty1,即開頭講的命令列可以登陸。

無法登入桌面的原因,網上有很多,方法也很多。我之前也碰到過一次,之前因為我肆無忌憚的刪除各種依賴包,導致系統檔案損壞,網上縱使有很多大神,我也只能說是回天乏力,無奈之下,我只能重灌,就誕生了那篇分割槽表損壞情況下重灌日誌。所以還請各位刪依賴的時候,千萬要小心,除非你記得,這些依賴包的名字,你可以重新install回來。

那麼這次無法登入桌面,原因是完全不一樣的,因為我發現我用會客是可以登入的,說明桌面系統並沒有損壞,那麼網上那些關於重新intall 桌面的命令,全都可以忽略不計,因為藥不對疾,我們要關注那些,修改主目錄配置檔案的命令,如:rm ~/.xauthority等等的,這條命令只是參考,但意義很重要,下面會講到。

那麼問題又來了,既然~下的配置檔案,我現在只是在fstab加了/home目錄,還沒有主目錄,當然系統登入不了,於是在/home下, mkdir rainey/。這樣主目錄就設定好了,重啟後,意料之中,一點變化也沒有,為什麼,因為沒有.xauthority這個配置檔案,但是網上不說要刪除這個檔案,我這裡反而要新增呢,原因我後面會講到,我先來在~下新增這個檔案(可以在/目錄下搜尋到這個檔案,然後拷貝到你的主目錄下),然後重啟,情況是:可以登入桌面,但是是死的。就是說密碼介面已經通過,桌面的控制項沒有啟用,相當於死的。

這裡就關係的許可權問題了,ls -l /home ,你會發現你主目錄所有者居然是root(即使fstab下我的掛在引數寫的usr, 也還是以root許可權掛上去,這個不知道ubuntu為什麼要這麼做),這自然有問題了,linux好就好在它的掛載系統,原來/home目錄下檔案還是存在,只不過沒有掛在點而已。為了確認是不是許可權問題,我把fstab下/home分割槽掛載的那句注掉,然後重啟,系統會自動找到/分割槽下的/home目錄(原先的預設home掛載點).

執行:ls -al,如圖所示:

果然是rainey為所有者

那麼回過來,重新將fstab下剛剛注釋的那一行還原,重起後執行:

sudo chmod rainey:rainey /home/rainey

然後重啟。順利進入桌面。

回過頭來想想,是不是我們一開始就用這個命令,或者用sudo chmod 777 /home/rainey 這樣的命令,問題就會得到解決呢,也許吧,因為畢竟.xauthority這個配置檔案是自動生成,也許建立主目錄後,直接改許可權,能讓我們少走彎路,讀者自行嘗試吧。

可是這次操作並未就此結束,因為主目錄下很多配置檔案都非常有用,很多我們開發用的環境配置都在裡面,所以我打算還是把原來主目錄下的.*這些配置檔案都考到我新的主目錄喜下,那麼需要重新回到原來的主目錄(方法上面已經講到過),然後備份到其他分割槽(只要不在原來/home目錄下就好),然後再這些備份的配置檔案拷貝到新主目錄下。但是是會發現,你很多應用程式不能跑,會報錯,首先考慮的許可權問題,很多目錄都是root使用者的,改為自己的使用者。

雖然這樣解決了大部分,程式報錯的問題。但是我最主要環境as(android studio)還是報錯,說~/.androidstudio1.03/system/tmp/*.sh(具體名字太長忘了),這個檔案許可權不夠,建議我重灌,好,我聽它的,重灌as,坑爹,還是報一模一樣的問題,那說明配置有問題。起初以為是這個s**件的問題,於是自己寫了個sh,發現也不能執行。說明不是檔案問題。然後又發現/bin/bash *.sh就可以執行, ./*.sh就不行,於是嘗試在path環境變數下加入./,結果發現還是不行。於是嘗試把*.sh移動/目錄下執行,發現./*.sh。頓時,豁然開朗,肯定是/home目錄下,可執行許可權配置跟其他目錄不一樣,但是/home下目錄都是rainey使用者的了啊,也都包含了x許可權了啊。百思不得其解啊,掛載出現了問題,因為/home就掛載方式跟其他目錄不一樣,其他配置都一樣啊。然後仔細回想掛載全過程,突然想到點了,fstab,對,就是一開始我提到後面會著重講到那句掛載語句,掛載引數出了問題,親們,以後掛載引數千萬不能寫rw啊(就算你把/home下所有東西都改成777,這一關也過不去啊),就因為這句話,整整讓我折騰了一天啊。下面給出正確的掛載語句:

/dev/sdb8       /home                   ext4            errors=remount-ro               0       1

這句才是正解啊。辛苦一天,寫點心得,即是教訓,也是積累。

Ubuntu新硬碟分割槽並掛載

在ubuntu下,小於等於2tb的硬碟可以使用fdisk命令進行mbr格式的分割槽 參考章節1 但是大於2tb的硬碟必須使用gpt格式分割槽 參考章節2 否則大於2tb的部分無法被使用 檢視系統裡的硬碟分割槽情況 準備掛載這個硬碟,首先進行分割槽 fdisk dev sdb將分割槽 dev sdb1...

新電腦如何分割槽硬碟 硬碟分割槽後資料如何恢復

一些電腦使用年限較長,且執行卡頓時,最好的方法就是將磁碟重新分割槽,也就是格式化來降低資料過多給電腦造成的壓力。但是,對於一些新手來說,在分割槽前,常常不知道要備份電腦內的一些重要檔案,導致分割槽後才想起資料丟失了。那麼,因為分割槽發生的丟失的資料是不是無法恢復了?easyrecovery資料恢復軟...

Linux 系統新增新硬碟 分割槽 掛載

實驗室買了兩塊4t硬碟,分別給兩台機子加。首先,關機後插上硬碟。開機進入,使用sudo fdisk l 下面有兩種選擇 直接掛載,需要兩個步驟 1.建立掛載目錄,這裡舉例,在根目錄下建立。sudo mkdir hdd 4t 2.將硬碟掛載到這個目錄。mount dev sda hdd 4t 補充 也...