Как перейти в другой диск в linux
У меня есть Ubuntu 14.04 с множеством пакетов и всего, что связано с работой, и я очень ей доволен. Он установлен на моем основном SSD-накопителе емкостью 120 ГБ (я выбрал «/», когда установил Ubuntu, поэтому я считаю, что все должно быть на этом диске). Он отображается как / dev / sda
Теперь я добавил еще один SSD на мой компьютер, который является 240Gb. В данный момент у меня нет под рукой других носителей информации (например, внешний жесткий диск).
Поскольку новый накопитель на 240 ГБ, очевидно, имеет большую емкость и работает быстрее (более новое поколение, чем мой на 120 ГБ), я хочу перенести свой Linux на этот новый накопитель. Этот новый диск отображается как / dev / sdb, и на данный момент он не отформатирован или что-то еще (я буквально распаковал и вставил в мой компьютер прямо сейчас: P)
Как я могу безопасно переместить мою установку Linux на новый диск?
Я могу изменить кабель SATA, чтобы новый диск отображался как / dev / sda, если это необходимо.
Это вывод "fdisk -l", если это помогает:
Похоже, вы планируете использовать оба из них сейчас. Если это так, вы должны рассмотреть возможность использования более нового, более крупного, а /home не всей системы. Это должно быть более легкое изменение (просто переместите все и добавьте одну строку в / etcs / fstab), и большинство больших файлов, скорее всего, попадут в ваш домашний каталог (и, следовательно, на большой диск).
Вы можете использовать CLONEZILLA для этой цели.
Clonezilla - это бесплатный инструмент для создания образа и клонирования разделов и дисков, который можно использовать для резервного копирования всех ваших данных (целых дисков или разделов) с высокой степенью сжатия, а затем клонировать их обратно на жесткий диск, чтобы привести их в точно такое же состояние. Это быстрее, чем устанавливать ОС в большинстве случаев.
Создайте загрузочный (Live) USB с помощью Tuxboot 7.0 .
Загрузиться с созданного Clonezilla носителя.
Теперь у вас есть много вариантов:
- Создайте образ только '/' (saveparts) и клонируйте его в любой раздел вашего другого SDD.
- Создайте образ полного диска (saveisk) и клонируйте его на свой новый SSD.
В вашем случае вы также можете использовать опцию «устройство-устройство», но я не знаком с ней.
Я обнаружил, что clonezilla не копирует mbr, поэтому весь образ диска и немного работы с gparted должны
@adampski: похоже, это ошибка в Clonezilla 2.4.5. В качестве обходного пути вы можете использовать Clonezilla 2.4.2 или Clonezilla 2.4.2 Server Edition (DRBL), пока он не будет исправлен. :)
Это можно сделать несколькими способами. Но самый простой - просто скопировать все файлы со старого диска на новый.
Создайте раздел ext4 и раздел подкачки на новом диске.
Загрузиться с LiveUSB.
Смонтируйте старый раздел Ubuntu в некоторый каталог, смонтируйте новый в другой каталог.
Скопируйте все файлы из старого в новый, используя cp -a команду.
Обновление /etc/fstab с новыми UUID.
Если что-то не понятно, могу добавить некоторые пояснения.
+1 - также возможно избежать загрузки с LiveUSB и делать все, пока загружается с оригинального диска, делать все изменения, перезагрузка, вуаля.
@ Этьен: не копируйте эти каталоги (также /dev ), просто создайте пустые каталоги на целевом диске и установите для них того же владельца / прав, что и на исходном диске.
Я закончил тем, что использовал: sudo rsync -a / /mnt/linux/ --exclude sys --exclude proc --exclude dev --exclude tmp --exclude media --exclude mnt --exclude run тогда sudo mkdir sys proc dev tmp media mnt run
@ Этьен, не могли бы вы отредактировать --exclude-comment? Если вы делаете это так, как написали, / var / tmp также исключается (мне кажется), после того, как клон пропустил systemd-resolved.service, в результате чего разрешение имен не работает . Я думаю, что это должно быть --exclude / tmp --exclude / proc и т. д. Спасибо
Если у вас есть время и вы хотите поехать:
- if это вход, of пункт назначения
- bs устанавливает размер блока. Это размер блоков, которые dd будет читать и записывать. Более высокие размеры блоков обычно означают более высокую производительность, но также и большее повреждение данных, если на входном диске есть ошибки, см. Здесь: archwiki на dd
- noerror продолжается в R / W-ошибок.
- sync синхронизирует смещения, если произошла ошибка.
Это в основном создаст образ вашего диска sda и запишет его на sdb (та же схема разделов и т. Д.). Конечно, это запишет все 120 ГБ, поскольку это не зависит от файлов. Таким образом, очень безопасно, но не самый быстрый, если вы используете только небольшие части диска. Однако, если входной диск достаточно заполнен, он может быть даже быстрее.
- После этого вы, вероятно, захотите изменить размер разделов, иначе вы не сможете воспользоваться дополнительным пространством.
- В любом случае может потребоваться изменить файл / etc / fstab.
Это тот случай, если идентификаторы оборудования используются для распознавания дисков.
Спасибо за подробный ответ . Я кое-что узнал! но я решил пойти с clonezilla и изменить размеры разделов впоследствии.
Меню предоставлено, чтобы помочь вам выбрать правильный раздел для клонирования. Клон с раздела - это ваш текущий загруженный раздел.
rsync используется для оптимальной скорости, если вы решите отложить раздел. Это полезно, если обновление не удается, вы ждете исправления ошибки и хотите снова запустить обновление. Точно так же вы, возможно, выбрали неправильные опции во время обновления и хотите сделать это снова.
Когда я переключаюсь на новый жесткий диск, я делаю это так:
- создать макет раздела, который я хочу на новом диске
- загрузка с Live CD / USB или установка, спасение и т. д.
- смонтировать старый раздел (ы) жесткого диска для копирования, скажем, /mnt/a
- смонтировать новый раздел (ы) жесткого диска для получения файлов, скажем /mnt/b
- cp -a или используйте tar для копирования файлов /mnt/a в /mnt/b
- установите загрузчик (lilo или grub) на новый диск ¹
- обновить /etc/fstab (вы можете использовать blkid для определения новых UUID)
- перезагрузите компьютер и проверьте, все ли в порядке
Note¹:
Проверьте все жесткие диски и разделы, используя следующую команду:
Теперь обратите внимание на раздел, на котором установлена Ubuntu, который будет выглядеть так: /dev/sda1
Смонтируйте раздел, где вам нужно установить GRUB 2 (раздел жесткого диска), и файловая система появится в Nautilus. Теперь нам нужно смонтировать правильный раздел жесткого диска, чтобы внести изменения в фактическую MBR жесткого диска. Для этого нам необходимо:
Теперь смонтируйте раздел в другом месте
Создайте неразрывную ссылку из /dev папки на живом образе, из которого вы загрузились, в /dev папку в разделе, к которому вы подключены /mnt
Теперь нам нужно изменить корень с живого корня компакт-диска (/) на корневой каталог смонтированного раздела
Теперь вы находитесь в новой корневой оболочке, в которой смонтированный раздел является новым корневым. Вы можете проверить этот набор ls . Так как мы сейчас находимся в смонтированном разделе, мы можем опередить и установить GRUB 2:
Установки должны завершиться сейчас, без ошибок
Выйдите из оболочки CHROOT, набрав exit или нажав Ctrl +, и D вы вернетесь в Live CD / USB Shell
Размонтируйте разделы, которые мы смонтировали ранее, чтобы выполнить чистую перезагрузку:
и перезагрузите компьютер после извлечения Live CD или USB-накопителя для загрузки с жесткого диска:
@ baobab33: Вы можете скопировать и вставить инструкции здесь на этот сайт, а затем присвоить атрибуты. Вам не разрешено просто ссылаться на внешний источник. Пожалуйста, также обновите источник с исправлениями выше.
Я решил провести эксперимент, связанный с этим постом.
Я приобрел Lenovo ThinkCentre. Он имел 256 ГБ SSD и 1 ТБ HDD (тип спиннера - быстрый, но не такой быстрый, как SSD).
Когда я установил Linux Mint 19.2 (LM19.2), он установил его на диск объемом 1 ТБ. SSD оказался невосстановимым, и я купил новый Kingston 240 ГБ SSD.
Я собирался установить LM19.2 на новый SSD, но казалось, что должен быть способ перенести мой хорошо разработанный образ LM19.2 с диска 1 ТБ на новый SSD.
Я нашел этот пост, и, хотя есть несколько убедительных советов выше, я был в режиме эксперимента. Ниже рассказывается о том, что я сделал, и это работало ОЧЕНЬ хорошо.
- Я использовал GParted для создания таблицы разделов и разделов на SSD, которые были того же типа, что и на 1 ТБ HDD.
- Я выполнил снимок ВСЕГО (нового инструмента в Ubuntu / Linux Mint) TimeShift на жестком диске LM19.2 1 ТБ.
- Я восстановил этот снимок на SSD.
- После того, как вышеуказанные шаги были выполнены (вы даже можете сделать 1 параллельно с 2 и 3), я перезагрузил компьютер, убедившись, что он выберет SSD.
- Единственное, что было странно во время перезагрузки, было то, что начальный экран grub спросил, хочу ли я загрузить Ubuntu. Я предположил, что это было свойственно восстановлению TimeShift, и это было.
- Последующие стартапы загружались, как это обычно делает LM19.2.
- Я отредактирую этот ответ, как только убедился, что могу сделать это с новым диском, висящим снаружи ПК (и кажется очевидным, что это будет работать), потому что это будет означать, что я могу быстро скопировать любую из моих машин LM на новое оборудование.
Только скорость загрузки сделала эти простые шаги стоящими усилий. Даже Dropbox переносился нормально - он просто хотел, чтобы я снова вошел в систему, и потребовалось все время, чтобы проиндексировать файлы, но он работал отлично.
Файловые команды
cd /home - перейти в директорию '/home'
cd .. -перейти в директорию уровнем выше
cd ../.. -перейти в директорию двумя уровнями выше
cd - перейти в домашнюю директорию
cd ~user - перейти в домашнюю директорию пользователя user
cd - -перейти в директорию, в которой находились до перехода в текущую директорию
pwd - показать текущюю директорию
ls - отобразить содержимое текущей директории
ls -F - отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих тип
ls -l - показать детализированое представление файлов и директорий в текущей директории
ls -a - показать скрытые файлы и директории в текущей директории
ls *5* - показать файлы и директории содержащие в имени цифры
tree - показать дерево файлов и директорий, начиная от корня (/)
mkdir dir1 - создать директорию с именем 'dir1'
mkdir dir1 dir2 - создать две директории одновременно
mkdir -p /tmp/dir1/dir2 - создать дерево директорий
rm -f file1 - удалить файл с именем 'file1'
rmdir dir1 - удалить директорию с именем 'dir1'
rm -rf dir1 - удалить директорию с именем 'dir1' и рекурсивно всё её содержимое
rm -rf dir1 dir2 - удалить две директории и рекурсивно их содержимое
mv dir1 new_dir - переименовать или переместить файл или директорию
cp file1 file2 - сопировать файл file1 в файл file2
cp dir/* . -копировать все файлы директории dir в текущую директорию
cp -a /tmp/dir1 . -копировать директорию dir1 со всем содержимым в текущую директорию
cp -a dir1 dir2 - копировать директорию dir1 в директорию dir2
Никак. Ты можешь только зайти в диру.
А вот как диск сделать дирой - это уже более правильный вопрос
ищешь нужный раздел
mount 'путь к разделу в /dev' 'директория монтирования (например /mnt/disk)' -t 'файловая система (опционально) '
cd 'директория монтирования'
Алсо в бубунте нет командной строки, есть консоль/терминал
что значит - на другой диск? на диск D? )))))))))
а если на другой винт, то Strel тебе всё верно ответил
Очень простой запрос, который требует вашего любезного руководства. Если я нахожусь в командной строке в DOS или Windows, я бы использовал (если я на диске C:) d: перейти на диск D. Что является эквивалентом в терминале Ubuntu, если я хочу перемещаться между разделами, от sda1 до sda2 например?
Хорошо, это одно из фундаментальных отличий между Windows и Linux. Файловая система Windows использует устройства в качестве отправных точек для каждого раздела файловой системы. Так что у тебя есть:
Системы Linux / Unix используют концепцию единой файловой системы. Все находится в корневой папке и может быть произвольно смешано. Пользователь и программы не знают об устройствах, потому что они были абстрагированы. Таким образом, все системы Linux будут иметь одинаковую общую иерархию .
Система Linux будет выглядеть примерно так:
Но эти папки могут находиться на одном жестком диске или на отдельных жестких дисках. Они могут даже быть сетевыми папками! Существует специальная папка / dev, если программе действительно нужно общаться с физическим устройством. Таким образом, в любом месте, куда вы хотите перейти в системе Linux, никогда не потребуется переключение устройств, как в Windows.
Однако иногда устройство не добавляется в файловую систему! Он будет подключен, ОС может видеть его как устройство, но он не был подключен . Современные системы Linux постараются сделать это для вас по мере необходимости. Иногда это не работает, и вы должны сделать это самостоятельно. Вот для чего предназначена команда mount . Это также оригинальная цель папки / mnt, поэтому у вас может быть очевидное место для монтирования новых разделов файловой системы.
Перед установкой диска:
После монтирования диска в / mnt / temp:
Таким образом, вы можете смонтировать диск, а затем использовать cd для его перемещения или в любом месте файловой системы. Это позволяет делать такие аккуратные вещи, как размещение вашего /home каталога на отдельном жестком диске, на случай, если вы захотите позже переключить дистрибутивы Linux, или вы можете создать его резервную копию. Папка / tmp часто вообще отсутствует на реальном устройстве! Это может быть какой-то баран, рассматриваемый как папка. Это позволяет легко помещать туда вещи, а затем очищать их при перезагрузке.
Я пытался перейти к месту E:/Study/Codes на диске git bash в Windows. В командной строке, чтобы изменить диск, который я использую, E: он возвращает ошибку git bash .
Как изменить текущее расположение каталога с /c/users на E:Study/Codes
Чтобы перейти к другому диску, просто используйте
Это решит вашу проблему.
Я думаю, что метод изменился. Метод в этом ответе не сработал. Мне пришлось использовать, cd /mnt/e/Study/Codes чтобы перейти к этой папке.
@ponir Я думаю, что метод остается таким же, как определил Яграти. Он также работал с последней версией 64-битной версии Git 2.14.1.
@Benvorth Не могли бы вы уточнить свой комментарий? (Для букв дисков в Windows регистр не имеет значения.)
@skomisa, если вы используете /mnt/. обозначение, упомянутое @ponir выше, регистр букв диска был для меня проблемой .
Я согласен с ответом Яграти. Быстро проверьте с помощью pwd. I текущий рабочий каталог отображается как что-то, начинающееся с / c / . затем используйте / e / Sudy / Codes для доступа к диску E :. Если результат «pwd» показывает что-то, начинающееся с / mnt / c / . то для доступа к диску E: вам необходимо использовать / mnt / e / Study / Codes.
Просто рассматривайте свой диск как папку, так что cd e:
@Choco Спасибо !. Я счастлив, что смог помочь. И все же несколько дней назад меня проголосовали против: /
Не голосовал против, но по какой-то причине cd e: работает, а автозаполнение - нет. Автозаполнение выполняется только в том случае, если я использую cd /e/ .
Как я это делаю в Windows 10
Перейдите в каталог вашей папки, который вы хотите открыть в git bash, например
После того, как вы дойдете до папки, просто введите git bash в верхней области навигации вот так и нажмите Enter.
Вам откроется git bash для предназначенной папки.
Надеюсь, это поможет.
То же, что для меня @JackGrinningCat. Вы что-то изменили в своей настройке, чтобы это работало, Абдулла Хан?
Нет, я просто установил git. Установка дала мне git bash и git cmd. И это решение отлично работает для меня.
У меня это сработало, но я пропустил эту git часть и просто сделал это bash . Кроме того, мой /C: каталог /mnt почему-то находится. Понятия не имею почему. Что касается вышеперечисленных вопросов, у меня включен Linux-бокс для Windows 10+. Если вы не включили bash, возможно, вы столкнетесь с этим сбоем при выполнении команды bash.
Это лучший ответ для моего случая: bash работает только у меня! Windows 10 1803 Windows-подсистема для Linux (WSL) с Ubuntu 18.04 LTS.
Чтобы перейти к другому диску / каталогу, вы можете сделать это удобным способом (вместо того, чтобы вводить cd / e / Study / Codes), просто введите cd [Пробел] и перетащите мышью коды каталога. для git bash нажмите [Enter].
TL; DR; для пользователей Windows :
( Кавычки не нужны, если в пути нет пробелов )
Git Bash : cd "/C/Program Files (x86)/Android" // macOS/Linux syntax
Cmd.exe : cd "C:\Program Files (x86)\Android" // windows syntax
При использовании git bash в Windows вам необходимо:
- удалите двоеточие после буквы диска
- замените обратную косую черту на косую черту
- Если в вашем пути есть пробелы: поставьте кавычки в начале и в конце пути.
Git Bash : cd "/C/Program Files (x86)/Android" // macOS/Linux syntax
Cmd.exe : cd "C:\Program Files (x86)\Android" // windows syntax
Как перейти на другой раздел жесткого диска? (какой командой)
Модератор: Bizdelnick
Как перейти на другой раздел жесткого диска?
Можно перейти на другой диск, используя меню Переход > Компьютер
А как переходить с диска на диск через терминал(консоль) , какая команда для этого используется?
Переходить из каталога в каталог можно командой cd
А для смены дисков, непонятно,
Раздел жёсткого диска на который надо перейти называется sda1
В каталоге /dev есть файл sda1
выполняю:
cd /dev/sda1
в ответ на это выдаёт
Что тут может быть не так?
P.S.диск sda1 имеет ф.c. NTFS
А что скажет команда mount ?
А вообще - читать основы Unix - систем.
Отличия Win и Lin структуры ФС - например здесь
Если перейти через меню Переход > Компьютер:
то можно переместиться на диск с файловой системой NTFS
не говорит ли это, что этот диск уже примонтирован ?
зачем же его монтировать снова
Я на него перехожу при помощи меню Переход > Компьютер> sda1 :
так вопросов не возникает
а если так через консоль: cd /dev/sda1
то не получается
Поэтому и непонятно, нужно ли монтировать повторно,
P.S. Или, возможно, используя первый вариант Переход > Компьютер> sda1 монтирование происходит автоматически
а через консоль такого автомонтирования не происходит и надо монтировать "вручную" ?
/dev - это устройство. Чтобы в него войти - его надо примонтировать. Оно примонтировано, весь вопрос - куда?
KubuntuUbuntu, сделай mount -l и покажи здесь.
В ответ на mount -l выдало:
Не то написал, исправил.
Переходи:
cd /media/sda1
В ответ на mount -l выдало:
т.к fdisk обычно ток руту доступен если я ни чего не путаю
по теме sda1 монтируется у вас как я понимаю в /media/sda1
в него и переходите
если уже примонтирован
если не примонтирован
монтируем
после cd /media/sda1
перешел на нужный диск, всё работает
но почему не работало /dev/sda1 ?
Зачем сделано так : /dev/sda1 on /media/sda1
по идее же( по логике) правильной было бы /dev/sda1
но почему не работало /dev/sda1 ?
Зачем сделано так : /dev/sda1 on /media/sda1
по идее же( по логике) правильной было бы /dev/sda1
после cd /media/sda1
перешел на нужный диск, всё работает
но почему не работало /dev/sda1 ?
Зачем сделано так : /dev/sda1 on /media/sda1
по идее же( по логике) правильной было бы /dev/sda1
/dev/sda1 - это всего лишь файл, который описывает устройство (в данном случаи sda1, т.е. первый раздел, первого жесткого диска), если вам будет так угоднее, то назовем это драйвер.
Вот и нужна команда которая привязывает конкретный раздел к конкретной папке через конкретный драйвер. И не важно что в никсах разделы монтируются к папке а в винде, к так называемым, дискам. Кому что нравится.
Читайте также: